-
Урок 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