Download Free Download : ByteGrad - Professional React & Nextjs
mp4 | Video: h264,1920X1080 | Audio: AAC, 44.1 KHz
Genre:eLearning | Language: English | Size:28.59 GB
Files Included :
1 Course Introduction.mp4 (46.28 MB)
MP4
2 Setup (Browser, VS Code Extensions, Prettier, Prisma, NodeJS, Git, GitHub).mp4 (59.03 MB)
MP4
3 Is an AI Copilot (example GitHub Copilot) a necessity for this course.mp4 (27.04 MB)
MP4
188 NextJS Overview (Fast).mp4 (303.63 MB)
MP4
189 When & Where to add 'use client'.mp4 (81.14 MB)
MP4
190 Server Components inside Client Components.mp4 (47.89 MB)
MP4
191 Routes (Pages) vs Components.mp4 (11.02 MB)
MP4
192 Client vs Server Overview in NextJS.mp4 (75.45 MB)
MP4
193 Before you use div in React.mp4 (144.15 MB)
MP4
195 The cn() utility function for Tailwind CSS.mp4 (60.56 MB)
MP4
196 React & NextJS hook mistakes (that even Senior developers make!).mp4 (374.94 MB)
MP4
197 EVENTO Project Intro.mp4 (27.04 MB)
MP4
198 Start Project (NextJS Fresh Install).mp4 (52.6 MB)
MP4
199 Routing Strategy (Layout & Pages, Dynamic Routes, Link).mp4 (109.72 MB)
MP4
200 Home Page Content (+ Tailwind Styling).mp4 (58.3 MB)
MP4
201 Logo (NextJS Image Component).mp4 (32.74 MB)
MP4
202 Header Styling (Why Tailwind).mp4 (81.23 MB)
MP4
203 Finish Home Page Styling With Tailwind CSS.mp4 (121.86 MB)
MP4
204 Container Props (ReactNode).mp4 (4.39 MB)
MP4
205 Accent Color (Tailwind Config).mp4 (16.34 MB)
MP4
206 Metadata (TypeScript Metadata Type).mp4 (20.93 MB)
MP4
207 Active Link (clsx, Framer Motion).mp4 (90.33 MB)
MP4
208 Search Form (When to Convert Server Component to Client Component).mp4 (87.87 MB)
MP4
209 Reusable H1 Component.mp4 (33.15 MB)
MP4
210 Clickable Logo (Link ).mp4 (3.77 MB)
MP4
211 Continue Events Page (Scrollbar Styling).mp4 (18.89 MB)
MP4
212 Page Params for Dynamic H1.mp4 (33.21 MB)
MP4
213 Fetch Events (Fetch Data in Server Component).mp4 (54.05 MB)
MP4
214 EventoEvent Type.mp4 (26.83 MB)
MP4
215 EventsList Component (@ Path Alias).mp4 (51.96 MB)
MP4
216 EventCard Component (Flexbox Tricks).mp4 (111.82 MB)
MP4
217 Event Date (Copilot Magic).mp4 (71.01 MB)
MP4
218 Finish EventCard (Wrap in Link, Hover Effect).mp4 (39.07 MB)
MP4
219 H1 Reusability (Reusability Best Practices, Tailwind-Merge).mp4 (62.64 MB)
MP4
220 cn() Utility Function (Replace clsx and Tailwind Merge).mp4 (38.4 MB)
MP4
221 Fetch Events for Correct City.mp4 (19.33 MB)
MP4
222 Event Page Params (Get Event Slug from URL).mp4 (9.08 MB)
MP4
223 Fetch Event From URL.mp4 (19.6 MB)
MP4
224 Event Page Scaffolding.mp4 (9.66 MB)
MP4
225 Image Component Advanced (+ Design Tips).mp4 (62.17 MB)
MP4
226 Finish Event Page Intro Section.mp4 (109.39 MB)
MP4
227 Reusable Hover Effect (Tailwind @apply Rule).mp4 (20.76 MB)
MP4
228 Finish Event Page (Tailwind, React Pattern).mp4 (70.6 MB)
MP4
229 Fix Image Object Fit vs Object Cover.mp4 (5.98 MB)
MP4
230 Client-Side Cache in NextJS (Router Cache).mp4 (67.05 MB)
MP4
231 Cache and Loading tsx.mp4 (30.96 MB)
MP4
232 Skeleton Component (Tailwind, cn()).mp4 (30.29 MB)
MP4
233 Skeleton Card Component.mp4 (53.26 MB)
MP4
234 Suspense & Streaming in NextJS (Loading tsx).mp4 (9.29 MB)
MP4
235 EventsList Suspense (Advanced Pattern for Data Fetching).mp4 (69.2 MB)
MP4
236 Advanced Pattern Data Fetching Wrapper Component for EventsList.mp4 (17.33 MB)
MP4
237 Data Cache and Revalidate.mp4 (52.82 MB)
MP4
238 Display Event Name as Title (generateMetadata).mp4 (105.06 MB)
MP4
239 Fetch Memoization in React & NextJS.mp4 (15.98 MB)
MP4
240 Data Fetching Utilities.mp4 (34.46 MB)
MP4
241 EventCard Scroll-Based Animation with Framer Motion.mp4 (110.37 MB)
MP4
242 Setup SQLite with Prisma.mp4 (118.66 MB)
MP4
243 Replace Fetch API with Prisma Client.mp4 (77.05 MB)
MP4
244 Sort Events by Date (Prisma Sorting).mp4 (13.08 MB)
MP4
245 notFound() Function in NextJS for Event Page.mp4 (11.39 MB)
MP4
246 Server-Side Pagination in NextJS for EventsList.mp4 (250.01 MB)
MP4
247 Advanced Key Prop for Suspense.mp4 (18.67 MB)
MP4
248 Zod Validation in EVENTO for Incoming Data.mp4 (100.09 MB)
MP4
249 Middleware in EVENTO (Use Cases, Redirecting).mp4 (19.73 MB)
MP4
250 Static vs Dynamic Rendering in EVENTO.mp4 (50.48 MB)
MP4
251 More Static vs Dynamic Rendering (Client Components Run on the Server).mp4 (14.99 MB)
MP4
252 Advanced Pattern Pre-Generating Popular Routes.mp4 (24.4 MB)
MP4
253 Advanced Link Component Prefetching in Production.mp4 (19.67 MB)
MP4
254 Advanced Data Cache Prisma ORM Caching with unstable cache.mp4 (47.49 MB)
MP4
255 Server-Only Utilities (Advanced Data Fetching Utilities).mp4 (51.83 MB)
MP4
256 Opengraph Images in NextJS.mp4 (12.75 MB)
MP4
257 Deployment Options (Static Export).mp4 (13.45 MB)
MP4
258 Deployment Options (NodeJS Server, Vercel).mp4 (13.79 MB)
MP4
259 Using Postgres in Production.mp4 (59.3 MB)
MP4
260 Deploy to Vercel.mp4 (70.24 MB)
MP4
261 Server Actions (Revalidation, useFormStatus, useOptimisticUI).mp4 (256.67 MB)
MP4
262 Top 3 Reasons for using Server Actions.mp4 (101.31 MB)
MP4
263 Custom Hook for Context API (TypeScript).mp4 (83.22 MB)
MP4
264 Professional forms with React-hook-form and Zod.mp4 (293.77 MB)
MP4
265 Complete Zod Tutorial.mp4 (383.47 MB)
MP4
266 TypeScript Generics (Easy Explanation!).mp4 (166.88 MB)
MP4
268 PetSoft Intro.mp4 (60.92 MB)
MP4
269 Setup.mp4 (104.26 MB)
MP4
270 Routing Strategy.mp4 (84.13 MB)
MP4
271 Home page.mp4 (83.55 MB)
MP4
272 Shadcn UI Intro & Setup.mp4 (225.57 MB)
MP4
273 App Segment (AppHeader, Dashboard Page + Account Page).mp4 (135.64 MB)
MP4
274 App Footer.mp4 (15.33 MB)
MP4
275 Branding + Stats Components.mp4 (56.47 MB)
MP4
276 Dashboard Grid Layout.mp4 (102.87 MB)
MP4
277 Responsive Grid Layout.mp4 (28.85 MB)
MP4
278 PetList Add Pet + Styling.mp4 (24.92 MB)
MP4
279 PetList Fetch Data.mp4 (93.71 MB)
MP4
280 Pet Type.mp4 (19.8 MB)
MP4
281 Pet Context.mp4 (151.22 MB)
MP4
282 TypeScript for Context API.mp4 (26.2 MB)
MP4
283 Update Selected Pet Id.mp4 (44.51 MB)
MP4
284 Selected Pet Styling.mp4 (21.18 MB)
MP4
285 Pet Details.mp4 (97.66 MB)
MP4
286 Pet Details Refactoring.mp4 (57.49 MB)
MP4
287 Tailwind Extend (Config).mp4 (33.43 MB)
MP4
288 Stats Component.mp4 (18.36 MB)
MP4
289 Project High-Level Overview.mp4 (94.64 MB)
MP4
290 Search Pets Feature.mp4 (147.73 MB)
MP4
291 Account Page.mp4 (13.78 MB)
MP4
292 Customize Reusable Components H1 + ContentBlock.mp4 (59.37 MB)
MP4
293 Pet Buttons for CRUD-Actions.mp4 (136.04 MB)
MP4
294 Checkout (Delete) a Pet.mp4 (78.99 MB)
MP4
295 Why Pet Button is a Client Component.mp4 (21.16 MB)
MP4
296 Dialog (Shadcn UI).mp4 (151.97 MB)
MP4
297 Add Pet pt 1 (Pet Form).mp4 (131.23 MB)
MP4
298 Add Pet pt 2.mp4 (195.74 MB)
MP4
299 Close Dialog.mp4 (40.69 MB)
MP4
300 Recap (High-Level Overview).mp4 (23.25 MB)
MP4
301 Edit Pet pt 1 (Prefill Form).mp4 (39.1 MB)
MP4
302 Edit Pet pt 2.mp4 (93.7 MB)
MP4
303 Add Database (Prisma Setup + Seed).mp4 (150.45 MB)
MP4
304 Get Data from Database (Prisma Client).mp4 (35.43 MB)
MP4
305 AddPet Server Action.mp4 (130.13 MB)
MP4
306 Action Instead of OnSubmit.mp4 (70.52 MB)
MP4
307 Cleanup Default Image.mp4 (14.9 MB)
MP4
308 revalidatePath in Server Actions.mp4 (81.61 MB)
MP4
309 Server Action Revalidation Overview.mp4 (60.87 MB)
MP4
310 Server Action Refactoring.mp4 (20.77 MB)
MP4
311 useFormStatus (Loading State).mp4 (56.23 MB)
MP4
312 Error State (Sonner Toast).mp4 (79.05 MB)
MP4
313 EditPet Server Action.mp4 (62.32 MB)
MP4
314 CheckoutPet Server Action.mp4 (37.25 MB)
MP4
315 useTransition for Server Actions (Loading State).mp4 (28.17 MB)
MP4
316 useOptimistic for Optimistic UI.mp4 (256.82 MB)
MP4
317 flushSync (advanced React).mp4 (31.41 MB)
MP4
318 Revert Optimistic Update.mp4 (32.29 MB)
MP4
319 Downsides of Optimistic UI.mp4 (15.89 MB)
MP4
320 Optimistic UI for Edit and Checkout.mp4 (82.35 MB)
MP4
321 Prisma Types (+ Remove Loading States).mp4 (284.89 MB)
MP4
322 React-Hook-Form (Setup).mp4 (137.37 MB)
MP4
323 Validation with Native React-Hook-Form.mp4 (52.82 MB)
MP4
324 Validation with Zod.mp4 (138.52 MB)
MP4
325 Infer TypeScript Type from Zod.mp4 (12.69 MB)
MP4
326 Zod Transform (Pet Default Image).mp4 (41.64 MB)
MP4
327 Cleanup Fix Image.mp4 (29.74 MB)
MP4
328 Zod on Server (Reuse Schema).mp4 (119.74 MB)
MP4
329 Unknown Type (Server Action Input Type).mp4 (40.39 MB)
MP4
330 Zod for Edit and Checkout.mp4 (77.91 MB)
MP4
331 Auth Pages (Nested Layout).mp4 (27.23 MB)
MP4
332 Finish Auth Pages.mp4 (50.84 MB)
MP4
333 Intro to Authentication.mp4 (51.08 MB)
MP4
334 JWT (JSON Web Tokens) and Cookies.mp4 (78.64 MB)
MP4
335 Session Concept.mp4 (23.65 MB)
MP4
336 Cookie vs Authorization Header (Bearer).mp4 (21.14 MB)
MP4
337 JWT Structure.mp4 (24.19 MB)
MP4
338 JWT vs Database Sessions.mp4 (68.42 MB)
MP4
339 Edge Network (Middleware).mp4 (38.94 MB)
MP4
340 Next-Auth vs Third-Party Auth (Kinde Auth).mp4 (26.77 MB)
MP4
341 Middleware in Next js.mp4 (67.36 MB)
MP4
342 User Database Model.mp4 (69.86 MB)
MP4
343 Seed Database with User.mp4 (88.99 MB)
MP4
344 Auth Form Reusability.mp4 (16.05 MB)
MP4
345 Next-Auth Config.mp4 (163.19 MB)
MP4
346 Sign In with Next-Auth (Server Action).mp4 (139.91 MB)
MP4
347 Credentials Provider (Email Password) in Next-Auth.mp4 (98.65 MB)
MP4
348 Bcrypt Issue.mp4 (42 MB)
MP4
349 Generate Secret with OpenSSL.mp4 (35.46 MB)
MP4
350 Finish Login & Protect App.mp4 (91.38 MB)
MP4
351 PetForm Default Values.mp4 (7.45 MB)
MP4
352 Render User Email in UI.mp4 (112.56 MB)
MP4
353 Sign Out (Button + Server Action).mp4 (98.73 MB)
MP4
354 Redirect Rules.mp4 (39.81 MB)
MP4
355 Advanced Redirect Pattern.mp4 (11.58 MB)
MP4
356 Sign Up Functionality (Register).mp4 (111.26 MB)
MP4
357 Get Pets by User.mp4 (97.98 MB)
MP4
358 Change Token Type & Finish Data Fetching.mp4 (64.63 MB)
MP4
359 Create Pet By User.mp4 (160.37 MB)
MP4
360 Authorization (Deleting Pet).mp4 (106.89 MB)
MP4
361 Authorization (Editing Pet).mp4 (38.15 MB)
MP4
362 Utility Function (Checking Auth).mp4 (27.77 MB)
MP4
363 Finish Utility Fn & Change NextAuth Type.mp4 (51.51 MB)
MP4
364 Server Only Utilities.mp4 (25.97 MB)
MP4
365 Utility Functions (Getting Data).mp4 (111.71 MB)
MP4
366 NextAuth Route Handlers (GET, POST).mp4 (118.79 MB)
MP4
367 Auth Validation.mp4 (223.41 MB)
MP4
368 Finish Login Validation.mp4 (70.79 MB)
MP4
369 Sign Up Validation.mp4 (94.55 MB)
MP4
370 Fix TypeScript PetEssentials.mp4 (47.89 MB)
MP4
371 Try Catch (Prisma).mp4 (8.77 MB)
MP4
372 Prisma Specific Errors.mp4 (31.86 MB)
MP4
373 UseFormStatus for Auth Loading State.mp4 (66.24 MB)
MP4
374 UseFormState for Auth Error State.mp4 (84.51 MB)
MP4
375 Auth Error Handling.mp4 (61.07 MB)
MP4
376 NextJS Redirect Quirk.mp4 (54.69 MB)
MP4
377 Loading State for Logout (useTransition).mp4 (25.31 MB)
MP4
378 Payments in NextJS Overview.mp4 (70.66 MB)
MP4
379 Payment Page.mp4 (28.28 MB)
MP4
380 Stripe Setup.mp4 (78.85 MB)
MP4
381 Checkout Session Redirect.mp4 (196.17 MB)
MP4
382 SearchParams after Payment.mp4 (44.07 MB)
MP4
383 Cancelled Payment SearchParams.mp4 (8.3 MB)
MP4
384 Checkout Session Loading State for Server Action (useTransition).mp4 (16.56 MB)
MP4
385 SearchParams Type.mp4 (17.05 MB)
MP4
386 Add hasAccess to Schema.mp4 (66.92 MB)
MP4
387 Add hasAccess to token.mp4 (79.59 MB)
MP4
388 Change Redirect Rules.mp4 (49.01 MB)
MP4
389 Stripe Webhooks.mp4 (82.53 MB)
MP4
390 Fulfill Order (Database Update).mp4 (86.26 MB)
MP4
391 Update JWT After Purchase.mp4 (222.63 MB)
MP4
392 Loading State for Updating JWT.mp4 (38.45 MB)
MP4
393 Verify Webhooks.mp4 (100.19 MB)
MP4
394 Finalize Redirect Rules.mp4 (62.15 MB)
MP4
395 Prepare for deployment.mp4 (21.34 MB)
MP4
396 Change SQLite to Vercel Postgres for Production.mp4 (79.18 MB)
MP4
397 Deploy to Vercel.mp4 (208.05 MB)
MP4
398 Separate Bcrypt Outside Edge.mp4 (135.59 MB)
MP4
399 Stripe in production.mp4 (8.5 MB)
MP4
399 THE END! Well done!.mp4 (7.46 MB)
MP4
10 The useEffect hook.mp4 (40.21 MB)
MP4
11 JavaScript Fundamentals for React.mp4 (139.52 MB)
MP4
12 CSS Fundamentals for React.mp4 (78.59 MB)
MP4
13 Modern JS & DOM Fundamentals.mp4 (521.31 MB)
MP4
4 Starting a New React Project.mp4 (7.68 MB)
MP4
5 Vite React App (Fresh Install Lookaround).mp4 (47.02 MB)
MP4
6 JSX Fundamentals for React.mp4 (28.18 MB)
MP4
7 Components in React.mp4 (28.93 MB)
MP4
8 Anatomy of a React Component (Props, Event Handlers, Hooks).mp4 (94.97 MB)
MP4
9 The useState Hook & What is 'Rendering'.mp4 (75.27 MB)
MP4
14 Fancy Counter Intro.mp4 (9.8 MB)
MP4
15 Fresh React Vite Install (Lookaround).mp4 (195.06 MB)
MP4
16 Split up the App into components.mp4 (139.41 MB)
MP4
17 Component fundamentals.mp4 (139.16 MB)
MP4
18 Div vs Fragment.mp4 (24.37 MB)
MP4
19 Styling our app and adding icons + font.mp4 (163.81 MB)
MP4
20 Count State (useState, 'Rendering', 'Lifting state up', functional setState).mp4 (147.29 MB)
MP4
21 Event Handler Functions in React.mp4 (27.92 MB)
MP4
22 Reset Button.mp4 (6.22 MB)
MP4
23 Inline vs Extracting Event Handler Functions.mp4 (16.06 MB)
MP4
24 Create 1 Reusable Button Component.mp4 (75.09 MB)
MP4
25 Conditional Rendering (Ternary Operator vs Logical && Operator).mp4 (12.11 MB)
MP4
26 Finish Refactoring Reusable Button Component.mp4 (18.71 MB)
MP4
27 Bottom Limit.mp4 (9.3 MB)
MP4
28 Upper Limit (Derived State, Manipulate CSS).mp4 (84.89 MB)
MP4
29 Spacebar to Increment.mp4 (129.21 MB)
MP4
30 Prop Drilling (Solution Children Composition).mp4 (51.56 MB)
MP4
31 Recap Most Important React Concepts from this project.mp4 (9.2 MB)
MP4
32 Word Analytics Intro.mp4 (7.49 MB)
MP4
33 Setup (Build a React App from Scratch).mp4 (153.36 MB)
MP4
34 Handle events (Change Event).mp4 (39.53 MB)
MP4
35 Uncontrolled vs Controlled (Textarea).mp4 (58.63 MB)
MP4
36 Basic Validation.mp4 (116.52 MB)
MP4
37 Reusable Component (Warning Component).mp4 (49.82 MB)
MP4
38 You don't always need to add more useState.mp4 (32.01 MB)
MP4
39 Finish validation (Remove Warning).mp4 (16.03 MB)
MP4
40 Stats Section (JSX Markup).mp4 (17.46 MB)
MP4
41 Reusable Component (Stat Component).mp4 (56.39 MB)
MP4
42 Derived State (numberOfCharacters).mp4 (51.97 MB)
MP4
43 Lifting state up.mp4 (62.87 MB)
MP4
44 Other Stats Data (Derived State).mp4 (37.31 MB)
MP4
45 Combine Props into 1 Prop Object.mp4 (27.83 MB)
MP4
46 Manipulate CSS in React.mp4 (29.45 MB)
MP4
47 Extract Constants into a Separate File.mp4 (20.58 MB)
MP4
48 Folder Structure.mp4 (30.91 MB)
MP4
49 Arrays (Intermediate).mp4 (63.79 MB)
MP4
50 Objects (Intermediate).mp4 (35.43 MB)
MP4
51 Arrays (Advanced).mp4 (41.05 MB)
MP4
52 Objects (Advanced).mp4 (12.16 MB)
MP4
53 Spread Operator.mp4 (4.65 MB)
MP4
54 Destructuring.mp4 (14.72 MB)
MP4
55 Primitives vs References.mp4 (15.2 MB)
MP4
56 Short Circuiting (&& and --).mp4 (18.65 MB)
MP4
57 Functions (Intermediate).mp4 (38.61 MB)
MP4
58 Functions (Advanced).mp4 (40.73 MB)
MP4
59 Fetch API Introduction.mp4 (48.06 MB)
MP4
60 Example GET Data from API & Display in HTML with Fetch API.mp4 (46.98 MB)
MP4
61 Fetch API in 4 Minutes (GET POST PUT DELETE, JSON).mp4 (31.45 MB)
MP4
62 Fetch API with AsyncAwait.mp4 (113.7 MB)
MP4
63 Fetch API in React useEffect for Fetching Data.mp4 (59.39 MB)
MP4
64 Custom hooks.mp4 (41.23 MB)
MP4
65 Rules of Hooks.mp4 (20.75 MB)
MP4
66 Trekbag Project Intro.mp4 (9.04 MB)
MP4
67 Create a new Vite React App for Trekbag.mp4 (31.35 MB)
MP4
68 Project Structure (Reusability).mp4 (182.41 MB)
MP4
69 Secondary Buttons (map, key).mp4 (56.49 MB)
MP4
70 Item List (useState, map, input checkboxes).mp4 (158.18 MB)
MP4
71 AddItemForm (Controlled vs Uncontrolled Input, useState, Array of Objects, Spread Operator).mp4 (174.64 MB)
MP4
72 React Pattern Separate Implemention Logic from Where Event Occurred.mp4 (81.35 MB)
MP4
73 Best Practices Naming Props.mp4 (19.85 MB)
MP4
74 Finish Secondary Buttons.mp4 (164.96 MB)
MP4
75 Delete & Toggle Individual Item.mp4 (76 MB)
MP4
76 React Pattern for Updating State, naming props.mp4 (37.22 MB)
MP4
77 Empty View (Conditional Rendering Pitfalls).mp4 (46.58 MB)
MP4
78 Best Practice Where to compute derived state.mp4 (55.09 MB)
MP4
79 Sorting Items (React-Select Component).mp4 (122.41 MB)
MP4
80 Advanced LocalStorage with useState.mp4 (92.02 MB)
MP4
81 Best Practices useMemo.mp4 (19.01 MB)
MP4
82 Children Composition (Avoid Prop Drilling pt 1).mp4 (47.49 MB)
MP4
83 Context API with Custom Hook (Avoid Prop Drilling pt 2).mp4 (136.69 MB)
MP4
84 The problem with the Context API.mp4 (28.8 MB)
MP4
85 Zustand (Replace Context API with Zustand).mp4 (189.35 MB)
MP4
86 TypeScript in React.mp4 (354.83 MB)
MP4
100 Conditional Rendering with Logical AND (&&).mp4 (14.62 MB)
MP4
101 Add item to list (Top 2 reasons for TypeScript, Lifting State Up).mp4 (335.3 MB)
MP4
102 Post Item to Backend (Optimistic UI).mp4 (106.57 MB)
MP4
103 Improve Project Folder Structure.mp4 (19.03 MB)
MP4
104 Hashtag List Feature.mp4 (178.23 MB)
MP4
105 useMemo Performance Optimization.mp4 (27.9 MB)
MP4
106 Toggle OpenClose Feedback Item.mp4 (29.64 MB)
MP4
107 Upvote Feature.mp4 (18.36 MB)
MP4
108 Prevent event bubbling in the DOM.mp4 (23.46 MB)
MP4
109 Disable Upvote Button.mp4 (9.91 MB)
MP4
110 ValidInvalid Indicators (setTimeout).mp4 (57.16 MB)
MP4
111 Children Composition (Prevent Prop Drilling pt 1).mp4 (39.78 MB)
MP4
112 Context API in TypeScript.mp4 (318.23 MB)
MP4
113 Custom Hook for Feedback Items.mp4 (61.97 MB)
MP4
114 The problem with Context API.mp4 (32.62 MB)
MP4
115 Zustand (Replace Context API with Zustand).mp4 (268.63 MB)
MP4
87 CorpComment Project Intro.mp4 (19.76 MB)
MP4
88 Vite React TypeScript (Fresh Install Lookaround).mp4 (69.7 MB)
MP4
89 Complete Setup (Components, Radix UI Icons).mp4 (216.58 MB)
MP4
90 Counter (useState, Controlled Input, Derived State).mp4 (79.9 MB)
MP4
91 Basic validation.mp4 (16.21 MB)
MP4
92 TypeScript for useState.mp4 (17.15 MB)
MP4
93 TypeScript for Events.mp4 (43.62 MB)
MP4
94 Feedback Items List (Map).mp4 (113.62 MB)
MP4
95 TypeScript for Props (FeedbackItem Prop).mp4 (76.77 MB)
MP4
96 Fetch Data & Set State.mp4 (97.71 MB)
MP4
97 Loading Spinner while Fetching Data.mp4 (26.77 MB)
MP4
98 Top 3 errors when fetching data.mp4 (77.42 MB)
MP4
99 Convert Fetch to AsyncAwait.mp4 (73.72 MB)
MP4
116 rmtDev Project Intro.mp4 (56.55 MB)
MP4
117 Starter Setup (GitHub).mp4 (31.95 MB)
MP4
118 Components overview.mp4 (72.66 MB)
MP4
119 Compose the app with components.mp4 (33.89 MB)
MP4
120 Search component (controlled input).mp4 (50.6 MB)
MP4
121 Data (Search Query Params vs Path Params).mp4 (46.18 MB)
MP4
122 Where to fetch data (useEffect vs event handler.mp4 (62.9 MB)
MP4
123 Fetch data in useEffect (Fetch API Anatomy).mp4 (94.91 MB)
MP4
124 Showing search results (life state up, map over data).mp4 (86.72 MB)
MP4
125 Typing API response (TypeScript).mp4 (43.17 MB)
MP4
126 Prevent prop drilling (children pattern).mp4 (58.17 MB)
MP4
127 Loading state (JobList).mp4 (33.18 MB)
MP4
128 JobItem type (special types file).mp4 (26.15 MB)
MP4
129 useJobItems (custom hook benefits).mp4 (59.98 MB)
MP4
130 Slice JobItems (derived state).mp4 (18.89 MB)
MP4
131 Custom hook rules (return object or array).mp4 (43.14 MB)
MP4
132 Type custom hook return value (as const).mp4 (46 MB)
MP4
133 Fix key (key is not a prop).mp4 (7.92 MB)
MP4
134 Fix TypeScript issues (type setstate function).mp4 (16.26 MB)
MP4
135 Benefits of data in URL (not in useState).mp4 (44.35 MB)
MP4
136 Keep track of activeId (reading and writing to URL, useEffect).mp4 (138.92 MB)
MP4
137 Custom hook for activeId.mp4 (27.2 MB)
MP4
138 Fetch JobItem (custom hook).mp4 (181.77 MB)
MP4
139 Render JobItem (custom type).mp4 (151.85 MB)
MP4
140 Loading State (JobItemContent).mp4 (58.81 MB)
MP4
141 Active item in list (custom hook).mp4 (49.71 MB)
MP4
142 Results count (derived state, custom hook).mp4 (37.81 MB)
MP4
143 Return object instead of array from custom hook.mp4 (32.9 MB)
MP4
144 Debounce searchtext (useDebounce custom hook).mp4 (158.41 MB)
MP4
145 useDebounce TypeScript (Generics).mp4 (75.38 MB)
MP4
146 Add key when there is no unique id.mp4 (48.55 MB)
MP4
147 Change Fetch to React-Query.mp4 (221.13 MB)
MP4
148 Fetcher function.mp4 (23.13 MB)
MP4
149 Type return value of fetcher function (API response, promise).mp4 (61.03 MB)
MP4
150 Fix loading state in React-Query (isInitialLoading).mp4 (11.73 MB)
MP4
151 Error handling when fetching data.mp4 (55.94 MB)
MP4
152 Purify custom hook (no derived state).mp4 (38.54 MB)
MP4
153 Refactor useJobItems to React-Query (+ Loading state).mp4 (134.86 MB)
MP4
154 Toast Messages (Show error message).mp4 (58.69 MB)
MP4
155 Unknown type in TypeScript.mp4 (86.21 MB)
MP4
156 Pagination.mp4 (116.79 MB)
MP4
157 Reusable component (Pagination Button).mp4 (83.47 MB)
MP4
158 Finish pagination (derived state).mp4 (95.38 MB)
MP4
159 Client-Side Pagination vs Server-Side Pagination.mp4 (10.44 MB)
MP4
160 Extract constant for results per page.mp4 (10.51 MB)
MP4
161 Sorting (derived state).mp4 (223.81 MB)
MP4
162 Extract type for page direction.mp4 (11.75 MB)
MP4
163 Mutable update vs Creating new.mp4 (29.98 MB)
MP4
164 Reusable component (Sorting Button).mp4 (62.48 MB)
MP4
165 Keep track of bookmarked ids in context API.mp4 (266.99 MB)
MP4
166 Event bubbling Prevent Default Stop propagation.mp4 (36.9 MB)
MP4
167 Persist data in localStorage (useState initializer function).mp4 (90.26 MB)
MP4
168 useLocalStorage (Custom hook).mp4 (128.33 MB)
MP4
169 Typing custom hook (generics).mp4 (133.87 MB)
MP4
170 Context API TypeScript (Custom Hook).mp4 (124.48 MB)
MP4
171 Create Popover (reuse custom hook).mp4 (117.99 MB)
MP4
172 Multiple Fetch Calls in parallel without waterfall (react-query).mp4 (210.09 MB)
MP4
173 Fix TypeScript Boolean (Asserting Casting Types).mp4 (81.5 MB)
MP4
174 What if data has more than type specifies.mp4 (40.71 MB)
MP4
175 Fix spinner CSS.mp4 (12.09 MB)
MP4
176 Part 1 Close popover - className.mp4 (125.37 MB)
MP4
177 Part 2 Close popover - useRef.mp4 (100.6 MB)
MP4
178 Part 3 Close popover - useOnClickOutside (custom hook).mp4 (103.69 MB)
MP4
179 Create portal for popover.mp4 (35.68 MB)
MP4
180 ActiveId optimization custom hook vs context API.mp4 (91.05 MB)
MP4
181 State Management in Context API (multiple contexts, dependency between them).mp4 (302.59 MB)
MP4
182 JobList (Data Wrapper Pattern).mp4 (78.06 MB)
MP4
183 useMemo (memoize derived state).mp4 (40.66 MB)
MP4
184 Why it's important to update objects and arrays by creating new ones.mp4 (40.17 MB)
MP4
185 Memoize context value.mp4 (28.52 MB)
MP4
186 useCallback for event handler functions.mp4 (33.52 MB)
MP4
187 Finish! Well done!.mp4 (10.61 MB)
MP4
MP4
2 Setup (Browser, VS Code Extensions, Prettier, Prisma, NodeJS, Git, GitHub).mp4 (59.03 MB)
MP4
3 Is an AI Copilot (example GitHub Copilot) a necessity for this course.mp4 (27.04 MB)
MP4
188 NextJS Overview (Fast).mp4 (303.63 MB)
MP4
189 When & Where to add 'use client'.mp4 (81.14 MB)
MP4
190 Server Components inside Client Components.mp4 (47.89 MB)
MP4
191 Routes (Pages) vs Components.mp4 (11.02 MB)
MP4
192 Client vs Server Overview in NextJS.mp4 (75.45 MB)
MP4
193 Before you use div in React.mp4 (144.15 MB)
MP4
195 The cn() utility function for Tailwind CSS.mp4 (60.56 MB)
MP4
196 React & NextJS hook mistakes (that even Senior developers make!).mp4 (374.94 MB)
MP4
197 EVENTO Project Intro.mp4 (27.04 MB)
MP4
198 Start Project (NextJS Fresh Install).mp4 (52.6 MB)
MP4
199 Routing Strategy (Layout & Pages, Dynamic Routes, Link).mp4 (109.72 MB)
MP4
200 Home Page Content (+ Tailwind Styling).mp4 (58.3 MB)
MP4
201 Logo (NextJS Image Component).mp4 (32.74 MB)
MP4
202 Header Styling (Why Tailwind).mp4 (81.23 MB)
MP4
203 Finish Home Page Styling With Tailwind CSS.mp4 (121.86 MB)
MP4
204 Container Props (ReactNode).mp4 (4.39 MB)
MP4
205 Accent Color (Tailwind Config).mp4 (16.34 MB)
MP4
206 Metadata (TypeScript Metadata Type).mp4 (20.93 MB)
MP4
207 Active Link (clsx, Framer Motion).mp4 (90.33 MB)
MP4
208 Search Form (When to Convert Server Component to Client Component).mp4 (87.87 MB)
MP4
209 Reusable H1 Component.mp4 (33.15 MB)
MP4
210 Clickable Logo (Link ).mp4 (3.77 MB)
MP4
211 Continue Events Page (Scrollbar Styling).mp4 (18.89 MB)
MP4
212 Page Params for Dynamic H1.mp4 (33.21 MB)
MP4
213 Fetch Events (Fetch Data in Server Component).mp4 (54.05 MB)
MP4
214 EventoEvent Type.mp4 (26.83 MB)
MP4
215 EventsList Component (@ Path Alias).mp4 (51.96 MB)
MP4
216 EventCard Component (Flexbox Tricks).mp4 (111.82 MB)
MP4
217 Event Date (Copilot Magic).mp4 (71.01 MB)
MP4
218 Finish EventCard (Wrap in Link, Hover Effect).mp4 (39.07 MB)
MP4
219 H1 Reusability (Reusability Best Practices, Tailwind-Merge).mp4 (62.64 MB)
MP4
220 cn() Utility Function (Replace clsx and Tailwind Merge).mp4 (38.4 MB)
MP4
221 Fetch Events for Correct City.mp4 (19.33 MB)
MP4
222 Event Page Params (Get Event Slug from URL).mp4 (9.08 MB)
MP4
223 Fetch Event From URL.mp4 (19.6 MB)
MP4
224 Event Page Scaffolding.mp4 (9.66 MB)
MP4
225 Image Component Advanced (+ Design Tips).mp4 (62.17 MB)
MP4
226 Finish Event Page Intro Section.mp4 (109.39 MB)
MP4
227 Reusable Hover Effect (Tailwind @apply Rule).mp4 (20.76 MB)
MP4
228 Finish Event Page (Tailwind, React Pattern).mp4 (70.6 MB)
MP4
229 Fix Image Object Fit vs Object Cover.mp4 (5.98 MB)
MP4
230 Client-Side Cache in NextJS (Router Cache).mp4 (67.05 MB)
MP4
231 Cache and Loading tsx.mp4 (30.96 MB)
MP4
232 Skeleton Component (Tailwind, cn()).mp4 (30.29 MB)
MP4
233 Skeleton Card Component.mp4 (53.26 MB)
MP4
234 Suspense & Streaming in NextJS (Loading tsx).mp4 (9.29 MB)
MP4
235 EventsList Suspense (Advanced Pattern for Data Fetching).mp4 (69.2 MB)
MP4
236 Advanced Pattern Data Fetching Wrapper Component for EventsList.mp4 (17.33 MB)
MP4
237 Data Cache and Revalidate.mp4 (52.82 MB)
MP4
238 Display Event Name as Title (generateMetadata).mp4 (105.06 MB)
MP4
239 Fetch Memoization in React & NextJS.mp4 (15.98 MB)
MP4
240 Data Fetching Utilities.mp4 (34.46 MB)
MP4
241 EventCard Scroll-Based Animation with Framer Motion.mp4 (110.37 MB)
MP4
242 Setup SQLite with Prisma.mp4 (118.66 MB)
MP4
243 Replace Fetch API with Prisma Client.mp4 (77.05 MB)
MP4
244 Sort Events by Date (Prisma Sorting).mp4 (13.08 MB)
MP4
245 notFound() Function in NextJS for Event Page.mp4 (11.39 MB)
MP4
246 Server-Side Pagination in NextJS for EventsList.mp4 (250.01 MB)
MP4
247 Advanced Key Prop for Suspense.mp4 (18.67 MB)
MP4
248 Zod Validation in EVENTO for Incoming Data.mp4 (100.09 MB)
MP4
249 Middleware in EVENTO (Use Cases, Redirecting).mp4 (19.73 MB)
MP4
250 Static vs Dynamic Rendering in EVENTO.mp4 (50.48 MB)
MP4
251 More Static vs Dynamic Rendering (Client Components Run on the Server).mp4 (14.99 MB)
MP4
252 Advanced Pattern Pre-Generating Popular Routes.mp4 (24.4 MB)
MP4
253 Advanced Link Component Prefetching in Production.mp4 (19.67 MB)
MP4
254 Advanced Data Cache Prisma ORM Caching with unstable cache.mp4 (47.49 MB)
MP4
255 Server-Only Utilities (Advanced Data Fetching Utilities).mp4 (51.83 MB)
MP4
256 Opengraph Images in NextJS.mp4 (12.75 MB)
MP4
257 Deployment Options (Static Export).mp4 (13.45 MB)
MP4
258 Deployment Options (NodeJS Server, Vercel).mp4 (13.79 MB)
MP4
259 Using Postgres in Production.mp4 (59.3 MB)
MP4
260 Deploy to Vercel.mp4 (70.24 MB)
MP4
261 Server Actions (Revalidation, useFormStatus, useOptimisticUI).mp4 (256.67 MB)
MP4
262 Top 3 Reasons for using Server Actions.mp4 (101.31 MB)
MP4
263 Custom Hook for Context API (TypeScript).mp4 (83.22 MB)
MP4
264 Professional forms with React-hook-form and Zod.mp4 (293.77 MB)
MP4
265 Complete Zod Tutorial.mp4 (383.47 MB)
MP4
266 TypeScript Generics (Easy Explanation!).mp4 (166.88 MB)
MP4
268 PetSoft Intro.mp4 (60.92 MB)
MP4
269 Setup.mp4 (104.26 MB)
MP4
270 Routing Strategy.mp4 (84.13 MB)
MP4
271 Home page.mp4 (83.55 MB)
MP4
272 Shadcn UI Intro & Setup.mp4 (225.57 MB)
MP4
273 App Segment (AppHeader, Dashboard Page + Account Page).mp4 (135.64 MB)
MP4
274 App Footer.mp4 (15.33 MB)
MP4
275 Branding + Stats Components.mp4 (56.47 MB)
MP4
276 Dashboard Grid Layout.mp4 (102.87 MB)
MP4
277 Responsive Grid Layout.mp4 (28.85 MB)
MP4
278 PetList Add Pet + Styling.mp4 (24.92 MB)
MP4
279 PetList Fetch Data.mp4 (93.71 MB)
MP4
280 Pet Type.mp4 (19.8 MB)
MP4
281 Pet Context.mp4 (151.22 MB)
MP4
282 TypeScript for Context API.mp4 (26.2 MB)
MP4
283 Update Selected Pet Id.mp4 (44.51 MB)
MP4
284 Selected Pet Styling.mp4 (21.18 MB)
MP4
285 Pet Details.mp4 (97.66 MB)
MP4
286 Pet Details Refactoring.mp4 (57.49 MB)
MP4
287 Tailwind Extend (Config).mp4 (33.43 MB)
MP4
288 Stats Component.mp4 (18.36 MB)
MP4
289 Project High-Level Overview.mp4 (94.64 MB)
MP4
290 Search Pets Feature.mp4 (147.73 MB)
MP4
291 Account Page.mp4 (13.78 MB)
MP4
292 Customize Reusable Components H1 + ContentBlock.mp4 (59.37 MB)
MP4
293 Pet Buttons for CRUD-Actions.mp4 (136.04 MB)
MP4
294 Checkout (Delete) a Pet.mp4 (78.99 MB)
MP4
295 Why Pet Button is a Client Component.mp4 (21.16 MB)
MP4
296 Dialog (Shadcn UI).mp4 (151.97 MB)
MP4
297 Add Pet pt 1 (Pet Form).mp4 (131.23 MB)
MP4
298 Add Pet pt 2.mp4 (195.74 MB)
MP4
299 Close Dialog.mp4 (40.69 MB)
MP4
300 Recap (High-Level Overview).mp4 (23.25 MB)
MP4
301 Edit Pet pt 1 (Prefill Form).mp4 (39.1 MB)
MP4
302 Edit Pet pt 2.mp4 (93.7 MB)
MP4
303 Add Database (Prisma Setup + Seed).mp4 (150.45 MB)
MP4
304 Get Data from Database (Prisma Client).mp4 (35.43 MB)
MP4
305 AddPet Server Action.mp4 (130.13 MB)
MP4
306 Action Instead of OnSubmit.mp4 (70.52 MB)
MP4
307 Cleanup Default Image.mp4 (14.9 MB)
MP4
308 revalidatePath in Server Actions.mp4 (81.61 MB)
MP4
309 Server Action Revalidation Overview.mp4 (60.87 MB)
MP4
310 Server Action Refactoring.mp4 (20.77 MB)
MP4
311 useFormStatus (Loading State).mp4 (56.23 MB)
MP4
312 Error State (Sonner Toast).mp4 (79.05 MB)
MP4
313 EditPet Server Action.mp4 (62.32 MB)
MP4
314 CheckoutPet Server Action.mp4 (37.25 MB)
MP4
315 useTransition for Server Actions (Loading State).mp4 (28.17 MB)
MP4
316 useOptimistic for Optimistic UI.mp4 (256.82 MB)
MP4
317 flushSync (advanced React).mp4 (31.41 MB)
MP4
318 Revert Optimistic Update.mp4 (32.29 MB)
MP4
319 Downsides of Optimistic UI.mp4 (15.89 MB)
MP4
320 Optimistic UI for Edit and Checkout.mp4 (82.35 MB)
MP4
321 Prisma Types (+ Remove Loading States).mp4 (284.89 MB)
MP4
322 React-Hook-Form (Setup).mp4 (137.37 MB)
MP4
323 Validation with Native React-Hook-Form.mp4 (52.82 MB)
MP4
324 Validation with Zod.mp4 (138.52 MB)
MP4
325 Infer TypeScript Type from Zod.mp4 (12.69 MB)
MP4
326 Zod Transform (Pet Default Image).mp4 (41.64 MB)
MP4
327 Cleanup Fix Image.mp4 (29.74 MB)
MP4
328 Zod on Server (Reuse Schema).mp4 (119.74 MB)
MP4
329 Unknown Type (Server Action Input Type).mp4 (40.39 MB)
MP4
330 Zod for Edit and Checkout.mp4 (77.91 MB)
MP4
331 Auth Pages (Nested Layout).mp4 (27.23 MB)
MP4
332 Finish Auth Pages.mp4 (50.84 MB)
MP4
333 Intro to Authentication.mp4 (51.08 MB)
MP4
334 JWT (JSON Web Tokens) and Cookies.mp4 (78.64 MB)
MP4
335 Session Concept.mp4 (23.65 MB)
MP4
336 Cookie vs Authorization Header (Bearer).mp4 (21.14 MB)
MP4
337 JWT Structure.mp4 (24.19 MB)
MP4
338 JWT vs Database Sessions.mp4 (68.42 MB)
MP4
339 Edge Network (Middleware).mp4 (38.94 MB)
MP4
340 Next-Auth vs Third-Party Auth (Kinde Auth).mp4 (26.77 MB)
MP4
341 Middleware in Next js.mp4 (67.36 MB)
MP4
342 User Database Model.mp4 (69.86 MB)
MP4
343 Seed Database with User.mp4 (88.99 MB)
MP4
344 Auth Form Reusability.mp4 (16.05 MB)
MP4
345 Next-Auth Config.mp4 (163.19 MB)
MP4
346 Sign In with Next-Auth (Server Action).mp4 (139.91 MB)
MP4
347 Credentials Provider (Email Password) in Next-Auth.mp4 (98.65 MB)
MP4
348 Bcrypt Issue.mp4 (42 MB)
MP4
349 Generate Secret with OpenSSL.mp4 (35.46 MB)
MP4
350 Finish Login & Protect App.mp4 (91.38 MB)
MP4
351 PetForm Default Values.mp4 (7.45 MB)
MP4
352 Render User Email in UI.mp4 (112.56 MB)
MP4
353 Sign Out (Button + Server Action).mp4 (98.73 MB)
MP4
354 Redirect Rules.mp4 (39.81 MB)
MP4
355 Advanced Redirect Pattern.mp4 (11.58 MB)
MP4
356 Sign Up Functionality (Register).mp4 (111.26 MB)
MP4
357 Get Pets by User.mp4 (97.98 MB)
MP4
358 Change Token Type & Finish Data Fetching.mp4 (64.63 MB)
MP4
359 Create Pet By User.mp4 (160.37 MB)
MP4
360 Authorization (Deleting Pet).mp4 (106.89 MB)
MP4
361 Authorization (Editing Pet).mp4 (38.15 MB)
MP4
362 Utility Function (Checking Auth).mp4 (27.77 MB)
MP4
363 Finish Utility Fn & Change NextAuth Type.mp4 (51.51 MB)
MP4
364 Server Only Utilities.mp4 (25.97 MB)
MP4
365 Utility Functions (Getting Data).mp4 (111.71 MB)
MP4
366 NextAuth Route Handlers (GET, POST).mp4 (118.79 MB)
MP4
367 Auth Validation.mp4 (223.41 MB)
MP4
368 Finish Login Validation.mp4 (70.79 MB)
MP4
369 Sign Up Validation.mp4 (94.55 MB)
MP4
370 Fix TypeScript PetEssentials.mp4 (47.89 MB)
MP4
371 Try Catch (Prisma).mp4 (8.77 MB)
MP4
372 Prisma Specific Errors.mp4 (31.86 MB)
MP4
373 UseFormStatus for Auth Loading State.mp4 (66.24 MB)
MP4
374 UseFormState for Auth Error State.mp4 (84.51 MB)
MP4
375 Auth Error Handling.mp4 (61.07 MB)
MP4
376 NextJS Redirect Quirk.mp4 (54.69 MB)
MP4
377 Loading State for Logout (useTransition).mp4 (25.31 MB)
MP4
378 Payments in NextJS Overview.mp4 (70.66 MB)
MP4
379 Payment Page.mp4 (28.28 MB)
MP4
380 Stripe Setup.mp4 (78.85 MB)
MP4
381 Checkout Session Redirect.mp4 (196.17 MB)
MP4
382 SearchParams after Payment.mp4 (44.07 MB)
MP4
383 Cancelled Payment SearchParams.mp4 (8.3 MB)
MP4
384 Checkout Session Loading State for Server Action (useTransition).mp4 (16.56 MB)
MP4
385 SearchParams Type.mp4 (17.05 MB)
MP4
386 Add hasAccess to Schema.mp4 (66.92 MB)
MP4
387 Add hasAccess to token.mp4 (79.59 MB)
MP4
388 Change Redirect Rules.mp4 (49.01 MB)
MP4
389 Stripe Webhooks.mp4 (82.53 MB)
MP4
390 Fulfill Order (Database Update).mp4 (86.26 MB)
MP4
391 Update JWT After Purchase.mp4 (222.63 MB)
MP4
392 Loading State for Updating JWT.mp4 (38.45 MB)
MP4
393 Verify Webhooks.mp4 (100.19 MB)
MP4
394 Finalize Redirect Rules.mp4 (62.15 MB)
MP4
395 Prepare for deployment.mp4 (21.34 MB)
MP4
396 Change SQLite to Vercel Postgres for Production.mp4 (79.18 MB)
MP4
397 Deploy to Vercel.mp4 (208.05 MB)
MP4
398 Separate Bcrypt Outside Edge.mp4 (135.59 MB)
MP4
399 Stripe in production.mp4 (8.5 MB)
MP4
399 THE END! Well done!.mp4 (7.46 MB)
MP4
10 The useEffect hook.mp4 (40.21 MB)
MP4
11 JavaScript Fundamentals for React.mp4 (139.52 MB)
MP4
12 CSS Fundamentals for React.mp4 (78.59 MB)
MP4
13 Modern JS & DOM Fundamentals.mp4 (521.31 MB)
MP4
4 Starting a New React Project.mp4 (7.68 MB)
MP4
5 Vite React App (Fresh Install Lookaround).mp4 (47.02 MB)
MP4
6 JSX Fundamentals for React.mp4 (28.18 MB)
MP4
7 Components in React.mp4 (28.93 MB)
MP4
8 Anatomy of a React Component (Props, Event Handlers, Hooks).mp4 (94.97 MB)
MP4
9 The useState Hook & What is 'Rendering'.mp4 (75.27 MB)
MP4
14 Fancy Counter Intro.mp4 (9.8 MB)
MP4
15 Fresh React Vite Install (Lookaround).mp4 (195.06 MB)
MP4
16 Split up the App into components.mp4 (139.41 MB)
MP4
17 Component fundamentals.mp4 (139.16 MB)
MP4
18 Div vs Fragment.mp4 (24.37 MB)
MP4
19 Styling our app and adding icons + font.mp4 (163.81 MB)
MP4
20 Count State (useState, 'Rendering', 'Lifting state up', functional setState).mp4 (147.29 MB)
MP4
21 Event Handler Functions in React.mp4 (27.92 MB)
MP4
22 Reset Button.mp4 (6.22 MB)
MP4
23 Inline vs Extracting Event Handler Functions.mp4 (16.06 MB)
MP4
24 Create 1 Reusable Button Component.mp4 (75.09 MB)
MP4
25 Conditional Rendering (Ternary Operator vs Logical && Operator).mp4 (12.11 MB)
MP4
26 Finish Refactoring Reusable Button Component.mp4 (18.71 MB)
MP4
27 Bottom Limit.mp4 (9.3 MB)
MP4
28 Upper Limit (Derived State, Manipulate CSS).mp4 (84.89 MB)
MP4
29 Spacebar to Increment.mp4 (129.21 MB)
MP4
30 Prop Drilling (Solution Children Composition).mp4 (51.56 MB)
MP4
31 Recap Most Important React Concepts from this project.mp4 (9.2 MB)
MP4
32 Word Analytics Intro.mp4 (7.49 MB)
MP4
33 Setup (Build a React App from Scratch).mp4 (153.36 MB)
MP4
34 Handle events (Change Event).mp4 (39.53 MB)
MP4
35 Uncontrolled vs Controlled (Textarea).mp4 (58.63 MB)
MP4
36 Basic Validation.mp4 (116.52 MB)
MP4
37 Reusable Component (Warning Component).mp4 (49.82 MB)
MP4
38 You don't always need to add more useState.mp4 (32.01 MB)
MP4
39 Finish validation (Remove Warning).mp4 (16.03 MB)
MP4
40 Stats Section (JSX Markup).mp4 (17.46 MB)
MP4
41 Reusable Component (Stat Component).mp4 (56.39 MB)
MP4
42 Derived State (numberOfCharacters).mp4 (51.97 MB)
MP4
43 Lifting state up.mp4 (62.87 MB)
MP4
44 Other Stats Data (Derived State).mp4 (37.31 MB)
MP4
45 Combine Props into 1 Prop Object.mp4 (27.83 MB)
MP4
46 Manipulate CSS in React.mp4 (29.45 MB)
MP4
47 Extract Constants into a Separate File.mp4 (20.58 MB)
MP4
48 Folder Structure.mp4 (30.91 MB)
MP4
49 Arrays (Intermediate).mp4 (63.79 MB)
MP4
50 Objects (Intermediate).mp4 (35.43 MB)
MP4
51 Arrays (Advanced).mp4 (41.05 MB)
MP4
52 Objects (Advanced).mp4 (12.16 MB)
MP4
53 Spread Operator.mp4 (4.65 MB)
MP4
54 Destructuring.mp4 (14.72 MB)
MP4
55 Primitives vs References.mp4 (15.2 MB)
MP4
56 Short Circuiting (&& and --).mp4 (18.65 MB)
MP4
57 Functions (Intermediate).mp4 (38.61 MB)
MP4
58 Functions (Advanced).mp4 (40.73 MB)
MP4
59 Fetch API Introduction.mp4 (48.06 MB)
MP4
60 Example GET Data from API & Display in HTML with Fetch API.mp4 (46.98 MB)
MP4
61 Fetch API in 4 Minutes (GET POST PUT DELETE, JSON).mp4 (31.45 MB)
MP4
62 Fetch API with AsyncAwait.mp4 (113.7 MB)
MP4
63 Fetch API in React useEffect for Fetching Data.mp4 (59.39 MB)
MP4
64 Custom hooks.mp4 (41.23 MB)
MP4
65 Rules of Hooks.mp4 (20.75 MB)
MP4
66 Trekbag Project Intro.mp4 (9.04 MB)
MP4
67 Create a new Vite React App for Trekbag.mp4 (31.35 MB)
MP4
68 Project Structure (Reusability).mp4 (182.41 MB)
MP4
69 Secondary Buttons (map, key).mp4 (56.49 MB)
MP4
70 Item List (useState, map, input checkboxes).mp4 (158.18 MB)
MP4
71 AddItemForm (Controlled vs Uncontrolled Input, useState, Array of Objects, Spread Operator).mp4 (174.64 MB)
MP4
72 React Pattern Separate Implemention Logic from Where Event Occurred.mp4 (81.35 MB)
MP4
73 Best Practices Naming Props.mp4 (19.85 MB)
MP4
74 Finish Secondary Buttons.mp4 (164.96 MB)
MP4
75 Delete & Toggle Individual Item.mp4 (76 MB)
MP4
76 React Pattern for Updating State, naming props.mp4 (37.22 MB)
MP4
77 Empty View (Conditional Rendering Pitfalls).mp4 (46.58 MB)
MP4
78 Best Practice Where to compute derived state.mp4 (55.09 MB)
MP4
79 Sorting Items (React-Select Component).mp4 (122.41 MB)
MP4
80 Advanced LocalStorage with useState.mp4 (92.02 MB)
MP4
81 Best Practices useMemo.mp4 (19.01 MB)
MP4
82 Children Composition (Avoid Prop Drilling pt 1).mp4 (47.49 MB)
MP4
83 Context API with Custom Hook (Avoid Prop Drilling pt 2).mp4 (136.69 MB)
MP4
84 The problem with the Context API.mp4 (28.8 MB)
MP4
85 Zustand (Replace Context API with Zustand).mp4 (189.35 MB)
MP4
86 TypeScript in React.mp4 (354.83 MB)
MP4
100 Conditional Rendering with Logical AND (&&).mp4 (14.62 MB)
MP4
101 Add item to list (Top 2 reasons for TypeScript, Lifting State Up).mp4 (335.3 MB)
MP4
102 Post Item to Backend (Optimistic UI).mp4 (106.57 MB)
MP4
103 Improve Project Folder Structure.mp4 (19.03 MB)
MP4
104 Hashtag List Feature.mp4 (178.23 MB)
MP4
105 useMemo Performance Optimization.mp4 (27.9 MB)
MP4
106 Toggle OpenClose Feedback Item.mp4 (29.64 MB)
MP4
107 Upvote Feature.mp4 (18.36 MB)
MP4
108 Prevent event bubbling in the DOM.mp4 (23.46 MB)
MP4
109 Disable Upvote Button.mp4 (9.91 MB)
MP4
110 ValidInvalid Indicators (setTimeout).mp4 (57.16 MB)
MP4
111 Children Composition (Prevent Prop Drilling pt 1).mp4 (39.78 MB)
MP4
112 Context API in TypeScript.mp4 (318.23 MB)
MP4
113 Custom Hook for Feedback Items.mp4 (61.97 MB)
MP4
114 The problem with Context API.mp4 (32.62 MB)
MP4
115 Zustand (Replace Context API with Zustand).mp4 (268.63 MB)
MP4
87 CorpComment Project Intro.mp4 (19.76 MB)
MP4
88 Vite React TypeScript (Fresh Install Lookaround).mp4 (69.7 MB)
MP4
89 Complete Setup (Components, Radix UI Icons).mp4 (216.58 MB)
MP4
90 Counter (useState, Controlled Input, Derived State).mp4 (79.9 MB)
MP4
91 Basic validation.mp4 (16.21 MB)
MP4
92 TypeScript for useState.mp4 (17.15 MB)
MP4
93 TypeScript for Events.mp4 (43.62 MB)
MP4
94 Feedback Items List (Map).mp4 (113.62 MB)
MP4
95 TypeScript for Props (FeedbackItem Prop).mp4 (76.77 MB)
MP4
96 Fetch Data & Set State.mp4 (97.71 MB)
MP4
97 Loading Spinner while Fetching Data.mp4 (26.77 MB)
MP4
98 Top 3 errors when fetching data.mp4 (77.42 MB)
MP4
99 Convert Fetch to AsyncAwait.mp4 (73.72 MB)
MP4
116 rmtDev Project Intro.mp4 (56.55 MB)
MP4
117 Starter Setup (GitHub).mp4 (31.95 MB)
MP4
118 Components overview.mp4 (72.66 MB)
MP4
119 Compose the app with components.mp4 (33.89 MB)
MP4
120 Search component (controlled input).mp4 (50.6 MB)
MP4
121 Data (Search Query Params vs Path Params).mp4 (46.18 MB)
MP4
122 Where to fetch data (useEffect vs event handler.mp4 (62.9 MB)
MP4
123 Fetch data in useEffect (Fetch API Anatomy).mp4 (94.91 MB)
MP4
124 Showing search results (life state up, map over data).mp4 (86.72 MB)
MP4
125 Typing API response (TypeScript).mp4 (43.17 MB)
MP4
126 Prevent prop drilling (children pattern).mp4 (58.17 MB)
MP4
127 Loading state (JobList).mp4 (33.18 MB)
MP4
128 JobItem type (special types file).mp4 (26.15 MB)
MP4
129 useJobItems (custom hook benefits).mp4 (59.98 MB)
MP4
130 Slice JobItems (derived state).mp4 (18.89 MB)
MP4
131 Custom hook rules (return object or array).mp4 (43.14 MB)
MP4
132 Type custom hook return value (as const).mp4 (46 MB)
MP4
133 Fix key (key is not a prop).mp4 (7.92 MB)
MP4
134 Fix TypeScript issues (type setstate function).mp4 (16.26 MB)
MP4
135 Benefits of data in URL (not in useState).mp4 (44.35 MB)
MP4
136 Keep track of activeId (reading and writing to URL, useEffect).mp4 (138.92 MB)
MP4
137 Custom hook for activeId.mp4 (27.2 MB)
MP4
138 Fetch JobItem (custom hook).mp4 (181.77 MB)
MP4
139 Render JobItem (custom type).mp4 (151.85 MB)
MP4
140 Loading State (JobItemContent).mp4 (58.81 MB)
MP4
141 Active item in list (custom hook).mp4 (49.71 MB)
MP4
142 Results count (derived state, custom hook).mp4 (37.81 MB)
MP4
143 Return object instead of array from custom hook.mp4 (32.9 MB)
MP4
144 Debounce searchtext (useDebounce custom hook).mp4 (158.41 MB)
MP4
145 useDebounce TypeScript (Generics).mp4 (75.38 MB)
MP4
146 Add key when there is no unique id.mp4 (48.55 MB)
MP4
147 Change Fetch to React-Query.mp4 (221.13 MB)
MP4
148 Fetcher function.mp4 (23.13 MB)
MP4
149 Type return value of fetcher function (API response, promise).mp4 (61.03 MB)
MP4
150 Fix loading state in React-Query (isInitialLoading).mp4 (11.73 MB)
MP4
151 Error handling when fetching data.mp4 (55.94 MB)
MP4
152 Purify custom hook (no derived state).mp4 (38.54 MB)
MP4
153 Refactor useJobItems to React-Query (+ Loading state).mp4 (134.86 MB)
MP4
154 Toast Messages (Show error message).mp4 (58.69 MB)
MP4
155 Unknown type in TypeScript.mp4 (86.21 MB)
MP4
156 Pagination.mp4 (116.79 MB)
MP4
157 Reusable component (Pagination Button).mp4 (83.47 MB)
MP4
158 Finish pagination (derived state).mp4 (95.38 MB)
MP4
159 Client-Side Pagination vs Server-Side Pagination.mp4 (10.44 MB)
MP4
160 Extract constant for results per page.mp4 (10.51 MB)
MP4
161 Sorting (derived state).mp4 (223.81 MB)
MP4
162 Extract type for page direction.mp4 (11.75 MB)
MP4
163 Mutable update vs Creating new.mp4 (29.98 MB)
MP4
164 Reusable component (Sorting Button).mp4 (62.48 MB)
MP4
165 Keep track of bookmarked ids in context API.mp4 (266.99 MB)
MP4
166 Event bubbling Prevent Default Stop propagation.mp4 (36.9 MB)
MP4
167 Persist data in localStorage (useState initializer function).mp4 (90.26 MB)
MP4
168 useLocalStorage (Custom hook).mp4 (128.33 MB)
MP4
169 Typing custom hook (generics).mp4 (133.87 MB)
MP4
170 Context API TypeScript (Custom Hook).mp4 (124.48 MB)
MP4
171 Create Popover (reuse custom hook).mp4 (117.99 MB)
MP4
172 Multiple Fetch Calls in parallel without waterfall (react-query).mp4 (210.09 MB)
MP4
173 Fix TypeScript Boolean (Asserting Casting Types).mp4 (81.5 MB)
MP4
174 What if data has more than type specifies.mp4 (40.71 MB)
MP4
175 Fix spinner CSS.mp4 (12.09 MB)
MP4
176 Part 1 Close popover - className.mp4 (125.37 MB)
MP4
177 Part 2 Close popover - useRef.mp4 (100.6 MB)
MP4
178 Part 3 Close popover - useOnClickOutside (custom hook).mp4 (103.69 MB)
MP4
179 Create portal for popover.mp4 (35.68 MB)
MP4
180 ActiveId optimization custom hook vs context API.mp4 (91.05 MB)
MP4
181 State Management in Context API (multiple contexts, dependency between them).mp4 (302.59 MB)
MP4
182 JobList (Data Wrapper Pattern).mp4 (78.06 MB)
MP4
183 useMemo (memoize derived state).mp4 (40.66 MB)
MP4
184 Why it's important to update objects and arrays by creating new ones.mp4 (40.17 MB)
MP4
185 Memoize context value.mp4 (28.52 MB)
MP4
186 useCallback for event handler functions.mp4 (33.52 MB)
MP4
187 Finish! Well done!.mp4 (10.61 MB)
MP4
Code:
Bitte
Anmelden
oder
Registrieren
um Code Inhalt zu sehen!
Code:
Bitte
Anmelden
oder
Registrieren
um Code Inhalt zu sehen!