-
Урок 1.
00:01:05
Welcome To The Course!
-
Урок 2.
00:04:38
What is React.js?
-
Урок 3.
00:07:26
Why React Instead Of "Just JavaScript"?
-
Урок 4.
00:01:34
Building Single-Page Applications (SPAs) with React
-
Урок 5.
00:03:34
Exploring React.js Alternatives (Angular / Vue)
-
Урок 6.
00:08:28
About This Course & Course Outline
-
Урок 7.
00:04:23
The Two Ways (Paths) Of Taking This Course
-
Урок 8.
00:04:17
Getting The Most Out Of This Course
-
Урок 9.
00:04:56
Setting Up The Course Dev Environment (Code Editor)
-
Урок 10.
00:01:36
Module Introduction
-
Урок 11.
00:03:06
Understanding "let" and "const"
-
Урок 12.
00:05:28
Arrow Functions
-
Урок 13.
00:04:44
Exports and Imports
-
Урок 14.
00:04:38
Understanding Classes
-
Урок 15.
00:03:04
Classes, Properties and Methods
-
Урок 16.
00:06:31
The Spread & Rest Operator
-
Урок 17.
00:03:14
Destructuring
-
Урок 18.
00:04:27
Reference and Primitive Types Refresher
-
Урок 19.
00:02:46
Refreshing Array Functions
-
Урок 20.
00:00:53
Wrap Up
-
Урок 21.
00:03:45
Module Introduction
-
Урок 22.
00:07:11
What Are Components? And Why Is React All About Them?
-
Урок 23.
00:03:43
React Code Is Written In A "Declarative Way"!
-
Урок 24.
00:12:24
Creating a new React Project
-
Урок 25.
00:11:52
Analyzing a Standard React Project
-
Урок 26.
00:03:59
Introducing JSX
-
Урок 27.
00:04:23
How React Works
-
Урок 28.
00:09:01
Building a First Custom Component
-
Урок 29.
00:05:06
Writing More Complex JSX Code
-
Урок 30.
00:04:48
Adding Basic CSS Styling
-
Урок 31.
00:08:21
Outputting Dynamic Data & Working with Expressions in JSX
-
Урок 32.
00:12:39
Passing Data via "props"
-
Урок 33.
00:05:58
Adding "normal" JavaScript Logic to Components
-
Урок 34.
00:10:47
Splitting Components Into Multiple Components
-
Урок 35.
00:02:32
Time to Practice: React & Component Basics - Problem
-
Урок 36.
00:07:26
Time to Practice: React & Component Basics - Solution
-
Урок 37.
00:13:08
The Concept of "Composition" ("children props")
-
Урок 38.
00:04:07
A First Summary
-
Урок 39.
00:09:10
A Closer Look At JSX
-
Урок 40.
00:03:06
Organizing Component Files
-
Урок 41.
00:02:40
An Alternative Function Syntax
-
Урок 42.
00:02:28
Module Introduction
-
Урок 43.
00:09:40
Listening to Events & Working with Event Handlers
-
Урок 44.
00:05:45
How Component Functions Are Executed
-
Урок 45.
00:10:54
Working with "State"
-
Урок 46.
00:07:37
A Closer Look at the "useState" Hook
-
Урок 47.
00:09:59
Adding Form Inputs
-
Урок 48.
00:05:18
Listening to User Input
-
Урок 49.
00:06:45
Working with Multiple States
-
Урок 50.
00:04:52
Using One State Instead (And What's Better)
-
Урок 51.
00:04:38
Updating State That Depends On The Previous State
-
Урок 52.
00:04:55
Handling Form Submission
-
Урок 53.
00:02:58
Adding Two-Way Binding
-
Урок 54.
00:13:57
Child-to-Parent Component Communication (Bottom-up)
-
Урок 55.
00:07:01
Lifting The State Up
-
Урок 56.
00:02:33
Time to Practice: Working with Events & State - Problem
-
Урок 57.
00:08:43
Time to Practice: Working with Events & State - Solution
-
Урок 58.
00:05:23
Controlled vs Uncontrolled Components & Stateless vs Stateful Components
-
Урок 59.
00:00:46
Module Introduction
-
Урок 60.
00:07:08
Rendering Lists of Data
-
Урок 61.
00:04:31
Using Stateful Lists
-
Урок 62.
00:07:00
Understanding "Keys"
-
Урок 63.
00:01:16
Time to Practice: Working with Lists - Problem
-
Урок 64.
00:04:45
Time to Practice: Working with Lists - Solution
-
Урок 65.
00:06:48
Outputting Conditional Content
-
Урок 66.
00:05:22
Adding Conditional Return Statements
-
Урок 67.
00:01:02
Time to Practice: Conditional Content - Problem
-
Урок 68.
00:05:48
Time to Practice: Conditional Content - Solution
-
Урок 69.
00:07:26
Demo App: Adding a Chart
-
Урок 70.
00:07:29
Adding Dynamic Styles
-
Урок 71.
00:11:05
Wrap Up & Next Steps
-
Урок 72.
00:03:44
Module Introduction
-
Урок 73.
00:09:00
Setting Dynamic Inline Styles
-
Урок 74.
00:05:01
Setting CSS Classes Dynamically
-
Урок 75.
00:09:47
Introducing Styled Components
-
Урок 76.
00:08:32
Styled Components & Dynamic Props
-
Урок 77.
00:02:28
Styled Components & Media Queries
-
Урок 78.
00:06:59
Using CSS Modules
-
Урок 79.
00:05:32
Dynamic Styles with CSS Modules
-
Урок 80.
00:01:35
Module Introduction
-
Урок 81.
00:06:20
Understanding React Error Messages
-
Урок 82.
00:05:54
Analyzing Code Flow & Warnings
-
Урок 83.
00:06:04
Working with Breakpoints
-
Урок 84.
00:06:00
Using the React DevTools
-
Урок 85.
00:02:57
Module Introduction
-
Урок 86.
00:07:07
Adding a "User" Component
-
Урок 87.
00:08:38
Adding a re-usable "Card" Component
-
Урок 88.
00:03:51
Adding a re-usable "Button" Component
-
Урок 89.
00:04:58
Managing the User Input State
-
Урок 90.
00:04:35
Adding Validation & Resetting Logic
-
Урок 91.
00:10:46
Adding a Users List Component
-
Урок 92.
00:09:28
Managing a List Of Users via State
-
Урок 93.
00:08:05
Adding The "ErrorModal" Component
-
Урок 94.
00:08:58
Managing the Error State
-
Урок 95.
00:00:50
Module Introduction
-
Урок 96.
00:08:47
JSX Limitations & Workarounds
-
Урок 97.
00:04:15
Creating a Wrapper Component
-
Урок 98.
00:02:43
React Fragments
-
Урок 99.
00:04:21
Introducing React Portals
-
Урок 100.
00:12:25
Working with Portals
-
Урок 101.
00:11:48
Working with "ref"s
-
Урок 102.
00:03:05
Controlled vs Uncontrolled Components
-
Урок 103.
00:01:36
Module Introduction
-
Урок 104.
00:06:53
What are "Side Effects" & Introducing useEffect
-
Урок 105.
00:10:59
Using the useEffect() Hook
-
Урок 106.
00:09:02
useEffect & Dependencies
-
Урок 107.
00:08:56
Using the useEffect Cleanup Function
-
Урок 108.
00:03:39
useEffect Summary
-
Урок 109.
00:09:18
Introducing useReducer & Reducers In General
-
Урок 110.
00:14:13
Using the useReducer() Hook
-
Урок 111.
00:09:53
useReducer & useEffect
-
Урок 112.
00:03:36
useReducer vs useState for State Management
-
Урок 113.
00:07:23
Introducing React Context (Context API)
-
Урок 114.
00:10:45
Using the React Context API
-
Урок 115.
00:01:43
Tapping Into Context with the useContext Hook
-
Урок 116.
00:04:36
Making Context Dynamic
-
Урок 117.
00:09:08
Building & Using a Custom Context Provider Component
-
Урок 118.
00:02:46
React Context Limitations
-
Урок 119.
00:07:11
Learning the "Rules of Hooks"
-
Урок 120.
00:06:07
Refactoring an Input Component
-
Урок 121.
00:13:40
Diving into "Forward Refs"
-
Урок 122.
00:02:50
Module Introduction
-
Урок 123.
00:04:11
Starting Setup
-
Урок 124.
00:09:08
Adding a "Header" Component
-
Урок 125.
00:05:27
Adding the "Cart" Button Component
-
Урок 126.
00:09:09
Adding a "Meals" Component
-
Урок 127.
00:09:31
Adding Individual Meal Items & Displaying Them
-
Урок 128.
00:10:10
Adding a Form
-
Урок 129.
00:05:11
Working on the "Shopping Cart" Component
-
Урок 130.
00:07:43
Adding a Modal via a React Portal
-
Урок 131.
00:10:49
Managing Cart & Modal State
-
Урок 132.
00:07:44
Adding a Cart Context
-
Урок 133.
00:04:53
Using the Context
-
Урок 134.
00:10:46
Adding a Cart Reducer
-
Урок 135.
00:10:50
Working with Refs & Forward Refs
-
Урок 136.
00:07:24
Outputting Cart Items
-
Урок 137.
00:05:30
Working on a More Complex Reducer Logic
-
Урок 138.
00:08:19
Making Items Removable
-
Урок 139.
00:07:45
Using the useEffect Hook
-
Урок 140.
00:02:17
Module Introduction
-
Урок 141.
00:07:23
How React Really Works
-
Урок 142.
00:06:52
Component Updates In Action
-
Урок 143.
00:10:42
A Closer Look At Child Component Re-Evaluation
-
Урок 144.
00:11:37
Preventing Unnecessary Re-Evaluations with React.memo()
-
Урок 145.
00:04:14
Preventing Function Re-Creation with useCallback()
-
Урок 146.
00:07:11
useCallback() and its Dependencies
-
Урок 147.
00:04:02
A First Summary
-
Урок 148.
00:03:31
A Closer Look At State & Components
-
Урок 149.
00:09:06
Understanding State Scheduling & Batching
-
Урок 150.
00:09:02
Optimizing with useMemo()
-
Урок 151.
00:02:11
Module Introduction
-
Урок 152.
00:04:54
What & Why
-
Урок 153.
00:06:55
Adding a First Class-based Component
-
Урок 154.
00:11:39
Working with State & Events
-
Урок 155.
00:05:21
The Component Lifecycle (Class-based Components Only!)
-
Урок 156.
00:11:47
Lifecycle Methods In Action
-
Урок 157.
00:04:54
Class-based Components & Context
-
Урок 158.
00:02:43
Class-based vs Functional Components: A Summary
-
Урок 159.
00:09:53
Introducing Error Boundaries
-
Урок 160.
00:01:47
Module Introduction
-
Урок 161.
00:03:33
How To (Not) Connect To A Database
-
Урок 162.
00:03:53
Our Starting App & Backend
-
Урок 163.
00:10:36
Sending a GET Request
-
Урок 164.
00:02:02
Using async / await
-
Урок 165.
00:04:46
Handling Loading & Data States
-
Урок 166.
00:11:14
Handling Http Errors
-
Урок 167.
00:06:28
Using useEffect() For Requests
-
Урок 168.
00:06:17
Preparing The Project For The Next Steps
-
Урок 169.
00:09:17
Sending a POST Request
-
Урок 170.
00:01:17
Wrap Up
-
Урок 171.
00:01:26
Module Introduction
-
Урок 172.
00:01:45
What are "Custom Hooks"?
-
Урок 173.
00:06:40
Creating a Custom React Hook Function
-
Урок 174.
00:04:46
Using Custom Hooks
-
Урок 175.
00:05:52
Configuring Custom Hooks
-
Урок 176.
00:06:46
Onwards To A More Realistic Example
-
Урок 177.
00:09:17
Building a Custom Http Hook
-
Урок 178.
00:07:46
Using the Custom Http Hook
-
Урок 179.
00:08:46
Adjusting the Custom Hook Logic
-
Урок 180.
00:08:54
Using The Custom Hook In More Components
-
Урок 181.
00:01:37
Module Introduction
-
Урок 182.
00:01:42
Our Starting Setup
-
Урок 183.
00:05:09
What's So Complex About Forms?
-
Урок 184.
00:10:05
Dealing With Form Submission & Getting User Input Values
-
Урок 185.
00:03:58
Adding Basic Validation
-
Урок 186.
00:03:55
Providing Validation Feedback
-
Урок 187.
00:05:41
Handling the "was touched" State
-
Урок 188.
00:04:16
React To Lost Focus
-
Урок 189.
00:09:08
Refactoring & Deriving States
-
Урок 190.
00:07:31
Managing The Overall Form Validity
-
Урок 191.
00:01:23
Time to Practice: Forms - Problem
-
Урок 192.
00:05:46
Time to Practice: Forms - Solution
-
Урок 193.
00:12:45
Adding A Custom Input Hook
-
Урок 194.
00:02:55
Re-Using The Custom Hook
-
Урок 195.
00:01:42
A Challenge For You!
-
Урок 196.
00:11:06
Applying Our Hook & Knowledge To A New Form
-
Урок 197.
00:03:18
Summary
-
Урок 198.
00:08:23
Bonus: Using useReducer()
-
Урок 199.
00:03:22
Module Introduction
-
Урок 200.
00:04:06
Moving "Meals" Data To The Backend
-
Урок 201.
00:09:28
Fetching Meals via Http
-
Урок 202.
00:04:01
Handling the Loading State
-
Урок 203.
00:07:45
Handling Errors
-
Урок 204.
00:10:48
Adding A Checkout Form
-
Урок 205.
00:04:52
Reading Form Values (4:51)
-
Урок 206.
00:12:05
Adding Form Validation
-
Урок 207.
00:06:49
Submitting & Sending Cart Data
-
Урок 208.
00:09:29
Adding Better User Feedback
-
Урок 209.
00:01:32
Summary
-
Урок 210.
00:01:06
Module Introduction
-
Урок 211.
00:05:15
Another Look At State In React Apps
-
Урок 212.
00:06:20
Redux vs React Context
-
Урок 213.
00:05:49
How Redux Works
-
Урок 214.
00:15:15
Exploring The Core Redux Concepts
-
Урок 215.
00:03:05
More Redux Basics
-
Урок 216.
00:02:00
Preparing a new Project
-
Урок 217.
00:04:55
Creating a Redux Store for React
-
Урок 218.
00:03:14
Providing the Store
-
Урок 219.
00:05:09
Using Redux Data in React Components
-
Урок 220.
00:03:34
Dispatching Actions From Inside Components
-
Урок 221.
00:10:21
Redux with Class-based Components
-
Урок 222.
00:04:16
Attaching Payloads to Actions
-
Урок 223.
00:06:20
Working with Multiple State Properties
-
Урок 224.
00:05:08
How To Work With Redux State Correctly
-
Урок 225.
00:05:28
Redux Challenges & Introducing Redux Toolkit
-
Урок 226.
00:08:12
Adding State Slices
-
Урок 227.
00:04:48
Connecting Redux Toolkit State
-
Урок 228.
00:06:20
Migrating Everything To Redux Toolkit
-
Урок 229.
00:11:51
Working with Multiple Slices
-
Урок 230.
00:06:57
Reading & Dispatching From A New Slice
-
Урок 231.
00:05:04
Splitting Our Code
-
Урок 232.
00:03:54
Summary
-
Урок 233.
00:00:40
Module Introduction
-
Урок 234.
00:03:28
Redux & Side Effects (and Asynchronous Code)
-
Урок 235.
00:20:13
Refresher / Practice: Part 1/2
-
Урок 236.
00:18:01
Refresher / Practice: Part 2/2
-
Урок 237.
00:04:29
Redux & Async Code
-
Урок 238.
00:05:41
Frontend Code vs Backend Code
-
Урок 239.
00:09:00
Where To Put Our Logic
-
Урок 240.
00:06:01
Using useEffect with Redux
-
Урок 241.
00:12:50
Handling Http States & Feedback with Redux
-
Урок 242.
00:12:08
Using an Action Creator Thunk
-
Урок 243.
00:08:40
Getting Started with Fetching Data
-
Урок 244.
00:05:17
Finalizing the Fetching Logic
-
Урок 245.
00:05:38
Exploring the Redux DevTools
-
Урок 246.
00:01:54
Summary
-
Урок 247.
00:03:22
Module Introduction
-
Урок 248.
00:03:16
Routing: Multiple Pages in Single-Page Applications
-
Урок 249.
00:03:07
Project Setup & Installing React Router
-
Урок 250.
00:07:43
Defining Routes
-
Урок 251.
00:02:08
Adding a Second Route
-
Урок 252.
00:03:02
Exploring an Alternative Way of Defining Routes
-
Урок 253.
00:04:37
Navigating between Pages with Links
-
Урок 254.
00:08:25
Layouts & Nested Routes
-
Урок 255.
00:03:59
Showing Error Pages with errorElement
-
Урок 256.
00:06:38
Working with Navigation Links (NavLink)
-
Урок 257.
00:02:42
Navigating Programmatically
-
Урок 258.
00:07:45
Defining & Using Dynamic Routes
-
Урок 259.
00:03:23
Adding Links for Dynamic Routes
-
Урок 260.
00:10:39
Understanding Relative & Absolute Paths
-
Урок 261.
00:01:57
Working with Index Routes
-
Урок 262.
00:03:17
Onwards to a new Project Setup
-
Урок 263.
00:01:26
Time to Practice: Problem
-
Урок 264.
00:23:17
Time to Practice: Solution
-
Урок 265.
00:07:36
Data Fetching with a loader()
-
Урок 266.
00:02:52
Using Data From A Loader In The Route Component
-
Урок 267.
00:03:18
More loader() Data Usage
-
Урок 268.
00:02:19
Where Should loader() Code Be Stored?
-
Урок 269.
00:02:49
When Are loader() Functions Executed?
-
Урок 270.
00:02:54
Reflecting The Current Navigation State in the UI
-
Урок 271.
00:04:02
Returning Responses in loader()s
-
Урок 272.
00:01:15
Which Kind Of Code Goes Into loader()s?
-
Урок 273.
00:04:57
Error Handling with Custom Errors
-
Урок 274.
00:06:25
Extracting Error Data & Throwing Responses
-
Урок 275.
00:02:08
The json() Utility Function
-
Урок 276.
00:07:33
Dynamic Routes & loader()s
-
Урок 277.
00:07:41
The useRouteLoaderData() Hook & Accessing Data From Other Routes
-
Урок 278.
00:02:23
Planning Data Submission
-
Урок 279.
00:09:09
Working with action() Functions
-
Урок 280.
00:09:07
Submitting Data Programmatically
-
Урок 281.
00:04:03
Updating the UI State Based on the Submission Status
-
Урок 282.
00:06:58
Validating User Input & Outputting Validation Errors
-
Урок 283.
00:07:56
Reusing Actions via Request Methods
-
Урок 284.
00:09:12
Behind-the-Scenes Work with useFetcher()
-
Урок 285.
00:09:08
Deferring Data Fetching with defer()
-
Урок 286.
00:07:23
Controlling Which Data Should Be Deferred
-
Урок 287.
00:02:58
Module Summary
-
Урок 288.
00:01:11
Module Introduction
-
Урок 289.
00:09:09
How Authentication Works
-
Урок 290.
00:03:47
Project Setup & Route Setup
-
Урок 291.
00:07:36
Working with Query Parameters
-
Урок 292.
00:11:41
Implementing the Auth Action
-
Урок 293.
00:04:19
Validating User Input & Outputting Validation Errors
-
Урок 294.
00:01:56
Adding User Login
-
Урок 295.
00:06:33
Attaching Auth Tokens to Outgoing Requests
-
Урок 296.
00:04:22
Adding User Logout
-
Урок 297.
00:06:06
Updating the UI Based on Auth Status
-
Урок 298.
00:02:47
Adding Route Protection
-
Урок 299.
00:05:11
Adding Automatic Logout
-
Урок 300.
00:07:29
Managing the Token Expiratoin
-
Урок 301.
00:01:41
Module Introduction
-
Урок 302.
00:03:36
Deployment Steps
-
Урок 303.
00:04:48
Understanding Lazy Loading
-
Урок 304.
00:09:12
Adding Lazy Loading
-
Урок 305.
00:02:23
Building the Code For Production
-
Урок 306.
00:06:45
Deployment Example
-
Урок 307.
00:04:07
Server-side Routing & Required Configuration
-
Урок 308.
00:02:09
Module Introduction
-
Урок 309.
00:04:46
What is NextJS?
-
Урок 310.
00:06:38
Key Feature 1: Built-in Server-side Rendering (Improved SEO!)
-
Урок 311.
00:03:14
Key Feature 2: Simplified Routing with File-based Routing
-
Урок 312.
00:01:51
Key Feature 3: Build Fullstack Apps
-
Урок 313.
00:05:40
Creating a New Next.js Project & App
-
Урок 314.
00:02:53
Analyzing the Created Project
-
Урок 315.
00:06:06
Adding First Pages
-
Урок 316.
00:03:48
Adding Nested Paths & Pages (Nested Routes)
-
Урок 317.
00:03:37
Creating Dynamic Pages (with Parameters)
-
Урок 318.
00:04:08
Extracting Dynamic Parameter Values
-
Урок 319.
00:07:14
Linking Between Pages
-
Урок 320.
00:03:33
Onwards to a bigger Project!
-
Урок 321.
00:03:43
Preparing the Project Pages
-
Урок 322.
00:05:04
Outputting a List of Meetups
-
Урок 323.
00:03:55
Adding the New Meetup Form
-
Урок 324.
00:06:18
The "_app.js" File & Layout Wrapper
-
Урок 325.
00:03:48
Using Programmatic (Imperative) Navigation
-
Урок 326.
00:10:01
Adding Custom Components & CSS Modules
-
Урок 327.
00:05:53
How Pre-rendering Works & Which Problem We Face
-
Урок 328.
00:08:57
Data Fetching for Static Pages
-
Урок 329.
00:05:45
More on Static Site Generation (SSG)
-
Урок 330.
00:06:28
Exploring Server-side Rendering (SSR) with "getServerSideProps"
-
Урок 331.
00:05:15
Working with Params for SSG Data Fetching
-
Урок 332.
00:07:17
Preparing Paths with "getStaticPaths" & Working With Fallback Pages
-
Урок 333.
00:06:21
Introducing API Routes
-
Урок 334.
00:09:33
Working with MongoDB
-
Урок 335.
00:06:50
Sending Http Requests To Our API Routes
-
Урок 336.
00:07:10
Getting Data From The Database
-
Урок 337.
00:09:42
Getting Meetup Details Data & Preparing Pages
-
Урок 338.
00:09:20
Adding "head" Metadata
-
Урок 339.
00:12:27
Deploying Next.js Projects
-
Урок 340.
00:04:14
Using Fallback Pages & Re-deploying
-
Урок 341.
00:02:16
Summary
-
Урок 342.
00:02:59
Module Introduction
-
Урок 343.
00:04:57
Preparing the Demo Project
-
Урок 344.
00:04:35
Using CSS Transitions
-
Урок 345.
00:05:33
Using CSS Animations
-
Урок 346.
00:04:05
CSS Transition & Animations Limitations
-
Урок 347.
00:12:20
Using ReactTransitionGroup
-
Урок 348.
00:03:25
Using the Transition Component
-
Урок 349.
00:03:17
Wrapping the Transition Component
-
Урок 350.
00:03:15
Animation Timings
-
Урок 351.
00:02:34
Transition Events
-
Урок 352.
00:05:24
The CSSTransition Component
-
Урок 353.
00:02:31
Customizing CSS Classnames
-
Урок 354.
00:06:54
Animating Lists
-
Урок 355.
00:04:30
Alternative Animation Packages
-
Урок 356.
00:01:58
Wrap Up
-
Урок 357.
00:01:02
Module Introduction
-
Урок 358.
00:04:20
Starting Project & Why You Would Replace Redux
-
Урок 359.
00:07:14
Alternative: Using the Context API
-
Урок 360.
00:05:44
Toggling Favorites with the Context API
-
Урок 361.
00:02:31
Context API Summary (and why NOT to use it instead of Redux)
-
Урок 362.
00:08:12
Getting Started with a Custom Hook as a Store
-
Урок 363.
00:05:54
Finishing the Store Hook
-
Урок 364.
00:04:12
Creating a Concrete Store
-
Урок 365.
00:05:41
Using the Custom Store
-
Урок 366.
00:03:14
Custom Hook Store Summary
-
Урок 367.
00:04:05
Optimizing the Custom Hook Store
-
Урок 368.
00:02:01
Wrap Up
-
Урок 369.
00:01:24
Module Introduction
-
Урок 370.
00:03:24
What & Why?
-
Урок 371.
00:04:05
Understanding Different Kinds Of Tests
-
Урок 372.
00:01:30
What To Test & How To Test
-
Урок 373.
00:02:40
Understanding the Technical Setup & Involved Tools
-
Урок 374.
00:07:17
Running a First Test
-
Урок 375.
00:10:15
Writing Our First Test
-
Урок 376.
00:02:15
Grouping Tests Together With Test Suites
-
Урок 377.
00:14:01
Testing User Interaction & State
-
Урок 378.
00:03:20
Testing Connected Components
-
Урок 379.
00:09:12
Testing Asynchronous Code
-
Урок 380.
00:08:31
Working With Mocks
-
Урок 381.
00:03:48
Summary & Further Resources
-
Урок 382.
00:01:27
Module Introduction
-
Урок 383.
00:06:35
What & Why?
-
Урок 384.
00:06:39
Installing & Using TypeScript
-
Урок 385.
00:03:56
Exploring the Base Types
-
Урок 386.
00:05:34
Working with Array & Object Types
-
Урок 387.
00:02:48
Understanding Type Inference
-
Урок 388.
00:02:49
Using Union Types
-
Урок 389.
00:02:43
Understanding Type Aliases
-
Урок 390.
00:05:20
Functions & Function Types
-
Урок 391.
00:08:02
Diving Into Generics
-
Урок 392.
00:08:35
Creating a React + TypeScript Project
-
Урок 393.
00:05:42
Working with Components & TypeScript
-
Урок 394.
00:14:21
Working with Props & TypeScript
-
Урок 395.
00:09:10
Adding a Data Model
-
Урок 396.
00:07:03
Time to Practice: Exercise Time!
-
Урок 397.
00:05:22
Form Submissions In TypeScript Projects
-
Урок 398.
00:10:57
Working with refs & useRef
-
Урок 399.
00:07:27
Working with "Function Props"
-
Урок 400.
00:05:14
Managing State & TypeScript
-
Урок 401.
00:02:20
Adding Styling
-
Урок 402.
00:09:28
Time to Practice: Removing a Todo
-
Урок 403.
00:13:56
The Context API & TypeScript
-
Урок 404.
00:02:19
Summary
-
Урок 405.
00:05:47
Bonus: Exploring tsconfig.json
-
Урок 406.
00:02:11
Module Introduction
-
Урок 407.
00:04:57
What Are React Hooks?
-
Урок 408.
00:04:52
The Starting Project
-
Урок 409.
00:09:21
Getting Started with useState()
-
Урок 410.
00:11:55
More on useState() & State Updating
-
Урок 411.
00:02:35
Array Destructuring
-
Урок 412.
00:03:48
Multiple States
-
Урок 413.
00:02:21
Rules of Hooks
-
Урок 414.
00:07:57
Passing State Data Across Components
-
Урок 415.
00:01:04
Time to Practice: Hooks Basics - Problem
-
Урок 416.
00:02:56
Time to Practice: Hooks Basics - Solution
-
Урок 417.
00:07:17
Sending Http Requests
-
Урок 418.
00:08:07
useEffect() & Loading Data
-
Урок 419.
00:02:22
Understanding useEffect() Dependencies
-
Урок 420.
00:09:38
More on useEffect()
-
Урок 421.
00:05:29
What's useCallback()?
-
Урок 422.
00:05:22
Working with Refs & useRef()
-
Урок 423.
00:03:22
Cleaning Up with useEffect()
-
Урок 424.
00:02:29
Deleting Ingredients
-
Урок 425.
00:08:49
Loading Errors & State Batching
-
Урок 426.
00:09:44
Understanding useReducer()
-
Урок 427.
00:10:41
Using useReducer() for the Http State
-
Урок 428.
00:08:28
Working with useContext()
-
Урок 429.
00:10:31
Performance Optimizations with useMemo()
-
Урок 430.
00:13:46
Getting Started with Custom Hooks
-
Урок 431.
00:14:59
Sharing Data Between Custom Hooks & Components
-
Урок 432.
00:08:12
Using the Custom Hook
-
Урок 433.
00:03:06
Wrap Up
-
Урок 434.
00:01:09
Module Introduction
-
Урок 435.
00:05:38
What Is React & Why Would You Use It?
-
Урок 436.
00:02:10
React Projects - Requirements
-
Урок 437.
00:03:28
Creating React Projects
-
Урок 438.
00:03:29
Out Starting Project
-
Урок 439.
00:07:47
Understanding How React Works
-
Урок 440.
00:11:16
Building A First Custom Component
-
Урок 441.
00:05:04
Outputting Dynamic Values
-
Урок 442.
00:06:01
Reusing Components
-
Урок 443.
00:06:16
Passing Data to Components with Props
-
Урок 444.
00:10:08
CSS Styling & CSS Modules
-
Урок 445.
00:06:32
Exercise & Another Component
-
Урок 446.
00:03:47
Preparing the App For State Management
-
Урок 447.
00:07:53
Adding Event Listeners
-
Урок 448.
00:10:01
Working with State
-
Урок 449.
00:09:09
Lifting State Up
-
Урок 450.
00:07:22
The Special "children" Prop
-
Урок 451.
00:09:00
State & Conditional Content
-
Урок 452.
00:07:52
Adding a Shared Header & More State Management
-
Урок 453.
00:03:35
Adding Form Buttons
-
Урок 454.
00:06:19
Handling Form Submission
-
Урок 455.
00:05:31
Updating State Based On Previous State
-
Урок 456.
00:06:40
Outputting List Data
-
Урок 457.
00:06:11
Adding a Backend to the React SPA
-
Урок 458.
00:04:13
Sending a POST HTTP Request
-
Урок 459.
00:09:07
Handling Side Effects with useEffect()
-
Урок 460.
00:04:24
Handle Loading State
-
Урок 461.
00:03:56
Understanding & Adding Routing
-
Урок 462.
00:05:37
Adding Routes
-
Урок 463.
00:04:09
Working with Layout Routes
-
Урок 464.
00:05:36
Refactoring Route Components & More Nesting
-
Урок 465.
00:08:10
Linking & Navigating
-
Урок 466.
00:09:08
Data Fetching via loader()s
-
Урок 467.
00:11:09
Submitting Data with action()s
-
Урок 468.
00:08:42
Dynamic Routes
-
Урок 469.
00:01:26
Module Summary
-
Урок 470.
00:01:11
What Now? Next Steps You Could Take!
-
Урок 471.
00:03:20
Explore The React Ecosystem!
-
Урок 472.
00:04:28
Finishing Thoughts
The last update on udemy is on December 2021.
thanks!
https://youtu.be/mUk6PlLaWk0
thanks