Этот материал находится в платной подписке. Оформи премиум подписку и смотри React & TypeScript - The Practical Guide, а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:01:27
    Welcome To The Course!
  • Урок 2. 00:01:57
    Why React & TypeScript?
  • Урок 3. 00:01:47
    About The Course & Course Content
  • Урок 4. 00:03:00
    How To Get The Most Out Of The Course
  • Урок 5. 00:01:01
    Creating & Using React + TypeScript Projects
  • Урок 6. 00:01:14
    Module Introduction
  • Урок 7. 00:03:02
    TypeScript Setup & Using TypeScript
  • Урок 8. 00:07:47
    Working with Types: Type Inference & Explicit Type Annotations
  • Урок 9. 00:01:08
    Basic Primitive Types
  • Урок 10. 00:03:14
    Invoking The TypeScript Compiler
  • Урок 11. 00:02:22
    Combining Types Union Types (Alternative Types)
  • Урок 12. 00:05:40
    Working with Object Types
  • Урок 13. 00:04:00
    Working with Array Types
  • Урок 14. 00:05:05
    Adding Types to Functions - Parameter & Return Value Types
  • Урок 15. 00:03:29
    Defining Function Types
  • Урок 16. 00:03:58
    Creating Custom Types / Type Aliases
  • Урок 17. 00:03:07
    Defining Object Types with Interfaces
  • Урок 18. 00:04:25
    Interfaces vs Custom Types
  • Урок 19. 00:04:22
    Being Specific With Literal Types
  • Урок 20. 00:03:06
    Merging Types
  • Урок 21. 00:03:43
    Adding Type Guards
  • Урок 22. 00:12:21
    Making Sense Of Generic Types
  • Урок 23. 00:00:36
    Summary
  • Урок 24. 00:01:14
    Module Introduction
  • Урок 25. 00:06:32
    Creating a React + TypeScript Project
  • Урок 26. 00:05:05
    Understanding the Role of tsconfig.json
  • Урок 27. 00:05:48
    Building a First Component & Facing a Missing Type
  • Урок 28. 00:04:06
    Defining Component Props Types
  • Урок 29. 00:02:05
    Storing Props Types as a Custom Type or Interface
  • Урок 30. 00:07:03
    Defining a Type for Props with "children"
  • Урок 31. 00:03:19
    Another Way Of Typing Components
  • Урок 32. 00:06:12
    Exercise: Creating a Header Component
  • Урок 33. 00:06:40
    Using useState() and TypeScript
  • Урок 34. 00:05:50
    Working with State & Outputting State-based Values
  • Урок 35. 00:07:32
    Another Exercise & Reusing Types Across Files
  • Урок 36. 00:10:08
    Passing Functions as Values - In A Type-Safe Way
  • Урок 37. 00:08:01
    Handling & Typing Events
  • Урок 38. 00:04:25
    Working with Generic Event Types
  • Урок 39. 00:08:51
    Using useRef() with TypeScript
  • Урок 40. 00:05:09
    Handling User Input In A Type-Safe Way
  • Урок 41. 00:01:43
    Summary
  • Урок 42. 00:01:32
    Module Introduction
  • Урок 43. 00:11:09
    Building a More Dynamic & Flexible Component
  • Урок 44. 00:06:20
    Problem: Flexible Components With Required Prop Combinations
  • Урок 45. 00:06:07
    Solution: Building Components with Discriminated Unions
  • Урок 46. 00:01:15
    Onwards To A New Project
  • Урок 47. 00:04:57
    Building a Basic Wrapper Component
  • Урок 48. 00:07:26
    Building Better Wrapper Components with ComponentPropsWithoutRef
  • Урок 49. 00:07:06
    Building a Wrapper Component That Renders Different Elements
  • Урок 50. 00:10:52
    Working with Type Predicates & Facing TypeScript Limitations
  • Урок 51. 00:05:27
    Building a Basic Polymorphic Component
  • Урок 52. 00:10:07
    Building a Better Polymorphic Component with Generics
  • Урок 53. 00:07:33
    Using forwardRef with TypeScript
  • Урок 54. 00:03:46
    Building Another Wrapper Component (Custom Form Component)
  • Урок 55. 00:10:11
    Sharing Logic with "unknown" & Type Casting
  • Урок 56. 00:09:59
    Exposing Component APIs with useImperativeHandle (with TypeScript)
  • Урок 57. 00:00:58
    Summary
  • Урок 58. 00:01:40
    The Starting Project
  • Урок 59. 00:01:00
    Module Introduction
  • Урок 60. 00:07:08
    Creating a Context & Fitting Types
  • Урок 61. 00:04:41
    Creating a Type-Safe Provider Component
  • Урок 62. 00:06:34
    Accessing Context Type-Safe With A Custom Hook
  • Урок 63. 00:03:16
    Getting Started with useReducer() & TypeScript
  • Урок 64. 00:06:29
    A Basic Reducer Function & A Basic Action Type
  • Урок 65. 00:02:44
    Changing State via the Reducer Function
  • Урок 66. 00:05:48
    Using Better Action Types
  • Урок 67. 00:07:27
    Wiring Everything Up & Finishing the App
  • Урок 68. 00:00:47
    Module Introduction
  • Урок 69. 00:04:46
    Creating a First Side Effect
  • Урок 70. 00:04:32
    Using useEffect() with TypeScript
  • Урок 71. 00:08:54
    Managing An Interval With Refs & The Effect Cleanup Function
  • Урок 72. 00:05:46
    useEffect() & Its Dependencies
  • Урок 73. 00:02:11
    Onwards to Data Fetching!
  • Урок 74. 00:07:01
    Building a Utility "get" Function with TypeScript
  • Урок 75. 00:13:28
    Fetching & Transforming Data
  • Урок 76. 00:08:15
    Handling Loading & Error States
  • Урок 77. 00:02:59
    The Starting Project
  • Урок 78. 00:01:05
    Module Introduction
  • Урок 79. 00:01:19
    Redux Setup
  • Урок 80. 00:05:18
    Creating a Redux Store & A First Slice
  • Урок 81. 00:02:41
    Setting a State Type
  • Урок 82. 00:03:29
    A First Reducer & Controlling the Action Payload Type
  • Урок 83. 00:06:18
    Adding Logic To The Reducer
  • Урок 84. 00:02:35
    Providing the Redux Store
  • Урок 85. 00:08:26
    Dispatching Actions & Adjusting the useDispatch Hook
  • Урок 86. 00:05:16
    Creating a Type-Safe useSelector Hook
  • Урок 87. 00:03:37
    Selecting & Transforming Redux Store Data
  • Урок 88. 00:09:01
    Finishing Touches & Summary
  • Урок 89. 00:02:04
    Your Task