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