- 资源介绍

通过代码实战工作坊掌握 React 19。面向专业Web开发者的自定进度、代码优先、动手实践的 React 培训。
说明
你准备好迎接React 19的革命了吗?这个最受欢迎的JavaScript框架刚刚进行了重大升级!
React 19中有三个巨大的范式转变,这将改变你的代码(甚至可能是你的生活):
- React Suspense和Transitions:告别各种临时解决方案,完全掌控数据加载方式,无论是同步还是异步,以提供最流畅的用户体验。
- 表单和服务器操作:彻底摆脱
useEffect
的黑客方法,同时为SSR、SSG和SPA应用提供你想要的数据输入体验。 use client
和use server
:和谐地编写服务器端和客户端代码,消除尴尬的过渡。
你的代码会更好。你的编码体验也会更好。React 19使用起来更有趣,因为它终于为你提供了完整的一套工具,让你能够无妥协地创建高度互动、可组合且功能强大的Web应用程序。
在课程结束时,你将开发出如下项目:
- 博客搜索
- 集成非React UI库
- 井字游戏
- 新用户表单
- 高性能地球仪
- 计算器
- 计数器
- 可搜索的城市列表
- 从零开始构建React Server Components框架
在这个过程中,你将学习专业的编码实践:
- 掌握表单处理,这是交互式Web开发中最棘手(也是最强大)的部分之一。
- 学习如何进行性能优化,并优化现有的代码。(附赠:这些技术同样适用于非React应用!)
- 学习如何使用AI编码助手来大幅提升生产力。我在每一个Epic React视频课程中都使用我的AI助手。(当然,它们不会为你完成工作,但确实可以帮助你!)
你将在虚拟团队中练习开发React 19应用。模拟的指导者Peter项目经理和Kellie同事会设定规格、提供建议,甚至为你提供代码供你在此基础上构建,几乎就像现实生活一样。
而且你不必独自一人:每次你坐下来学习时,你会看到其他同学在同一时间学习同一课……并且你将获得终身访问Epic React Discord频道的权限。
所以,无论你是第一次学习React的中级开发者(真幸运!)……
……还是希望提升技能的经验丰富的React开发者……
如果你一直在寻找通往真正的React 19掌握之路?那么Epic React就是你的选择。
探索React开发的最新趋势和技术
从基础到最新的React Server Components,你将学到构建生产级React应用程序所需的一切知识。
React 基础
- 10个章节,56节课
- 学习构建React应用和库所必需的基础概念。
- 从一个HTML文件和脚本开始,学习React API来构建组件和管理表单。
- 学习使用React构建网页的基本知识。
React Hooks
- 6个章节,29节课
- 构建React hooks来管理UI状态。
- 学习如何使用React hooks为你的应用添加交互性,并构建动态网站。
- 掌握核心的React hooks,如
useState
、useEffect
和useRef
。
高级React APIs
- 9个章节,36节课
- 学习何时以及如何使用高级特性。
- 探索React提供的用于复杂状态管理、在应用中共享上下文、焦点管理等的hooks和API。
React Suspense
- 6个章节,29节课
- 开始以声明式的方式管理异步操作。
- 深入了解Suspense的工作原理,为你未来进行异步状态管理做好准备。
高级React模式
- 8个章节,30节课
- 学习8种有用的模式。
- 通过了解多种高级模式的优点和缺点,使你的代码比以往任何时候都更加优秀,总能知道该选择哪种模式。
React 性能
- 8个章节,33节课
- 了解如何以及何时优化你的应用。
- 使用浏览器分析器、React DevTools 分析器以及优化技术诊断、分析并修复React应用中的性能问题。
React Server Components
- 5个章节,27节课
- 从零开始理解React Server Components。
- 通过仅使用浏览器、Node.js和React构建框架,来理解和掌握React Server Components和Server Actions。
与专家的访谈
- 16次访谈
- 与Kent C. Dodds及特邀专家一起探索React开发的最新趋势和技术。
课程目录:
├── 4 React Suspense
│ ├── 4. Error Handling _Problem.vtt
│ ├── 32. Img Error Boundary _Problem.mp4
│ ├── 2. Throwing Promises _Problem.vtt
│ ├── 42. Parallel Loading _Problem.vtt
│ ├── 11. use React _Solution.mp4
│ ├── 20. Dad Joke Break Dynamic Promises.srt
│ ├── 5. Error Handling _ Solution.mp4
│ ├── 14. Promise Cache _Problem.vtt
│ ├── 39. useDeferredValue _Solution.mp4
│ ├── 44. Server Cache _Problem.mp4
│ ├── 47. Outro to React Suspense.mp4
│ ├── 33. Img Error Boundary _Solution.srt
│ ├── 46. Dad Joke Break Optimizations.vtt
│ ├── 4. Error Handling _Problem.mp4
│ ├── 12. Dad Joke Break Data fetching.srt
│ ├── 28. Dad Joke Break Optimistic UI.mp4
│ ├── 43. Parallel Loading _Solution.mp4
│ ├── 17. useTransition _Solution.srt
│ ├── 41. Intro to Optimizations.srt
│ ├── 31. Img Component _ Solution.vtt
│ ├── 8. Utility _ Problem.vtt
│ ├── 35. Key prop _Solution.srt
│ ├── 3. Throwing Promises _Solution.srt
│ ├── React Suspense.txt
│ ├── 44. Server Cache _Problem.vtt
│ ├── 30. Img Component _Problem.srt
│ ├── 17. useTransition _Solution.mp4
│ ├── 34. Key prop _Problem.srt
│ ├── 29. Intro to Suspense img.mp4
│ ├── 46. Dad Joke Break Optimizations.srt
│ ├── 25. Form Status _Solution.vtt
│ ├── 46. Dad Joke Break Optimizations.mp4
│ ├── 42. Parallel Loading _Problem.srt
│ ├── 40. Dad Joke Break Responsive.mp4
│ ├── 6. Formal Status _Problem.vtt
│ ├── 6. Formal Status _Problem.srt
│ ├── 9. Utility _Solution.mp4
│ ├── 38. useDeferredValue _Problem.mp4
│ ├── 38. useDeferredValue _Problem.vtt
│ ├── 2. Throwing Promises _Problem.srt
│ ├── 9. Utility _Solution.srt
│ ├── 10. use React _Problem.vtt
│ ├── 45. Server Cache _Solution.vtt
│ ├── 21. Intro to Optimistic UI.vtt
│ ├── 35. Key prop _Solution.vtt
│ ├── 17. useTransition _Solution.vtt
│ ├── 11. use React _Solution.srt
│ ├── 20. Dad Joke Break Dynamic Promises.vtt
│ ├── 25. Form Status _Solution.mp4
│ ├── 7. Formal Status _Solution.srt
│ ├── 45. Server Cache _Solution.srt
│ ├── 32. Img Error Boundary _Problem.vtt
│ ├── 36. Dad Joke Break Suspense img.mp4
│ ├── 7. Formal Status _Solution.mp4
│ ├── 23. Optimistic UI _Solution.mp4
│ ├── 25. Form Status _Solution.srt
│ ├── 1. Intro to Data fetching.vtt
│ ├── 24. Form Status _ Problem.srt
│ ├── 15. Promise Cache _Solution.vtt
│ ├── 38. useDeferredValue _Problem.srt
│ ├── 10. use React _Problem.mp4
│ ├── 3. Throwing Promises _Solution.mp4
│ ├── 19. Pending Flash _Solution.mp4
│ ├── 31. Img Component _ Solution.srt
│ ├── 31. Img Component _ Solution.mp4
│ ├── 34. Key prop _Problem.vtt
│ ├── 21. Intro to Optimistic UI.mp4
│ ├── 16. useTransition _Problem.srt
│ ├── 28. Dad Joke Break Optimistic UI.srt
│ ├── 1. Intro to Data fetching.mp4
│ ├── 34. Key prop _Problem.mp4
│ ├── 5. Error Handling _ Solution.srt
│ ├── 26. Multi-step Actions _Problem.mp4
│ ├── 36. Dad Joke Break Suspense img.srt
│ ├── 39. useDeferredValue _Solution.vtt
│ ├── 33. Img Error Boundary _Solution.vtt
│ ├── 26. Multi-step Actions _Problem.vtt
│ ├── 22. Optimistic UI _Problem.vtt
│ ├── 23. Optimistic UI _Solution.vtt
│ ├── 21. Intro to Optimistic UI.srt
│ ├── 27. Multi-step Actions _ Solution.mp4
│ ├── 14. Promise Cache _Problem.srt
│ ├── 35. Key prop _Solution.mp4
│ ├── 30. Img Component _Problem.mp4
│ ├── 1. Intro to Data fetching.srt
│ ├── 20. Dad Joke Break Dynamic Promises.mp4
│ ├── 10. use React _Problem.srt
│ ├── 43. Parallel Loading _Solution.vtt
│ ├── 3. Throwing Promises _Solution.vtt
│ ├── 27. Multi-step Actions _ Solution.vtt
│ ├── 15. Promise Cache _Solution.srt
│ ├── 45. Server Cache _Solution.mp4
│ ├── 41. Intro to Optimizations.vtt
│ ├── 11. use React _Solution.vtt
│ ├── 30. Img Component _Problem.vtt
│ ├── 19. Pending Flash _Solution.vtt
│ ├── 32. Img Error Boundary _Problem.srt
│ ├── 37. Intro to Responsive.mp4
│ ├── 24. Form Status _ Problem.vtt
│ ├── 15. Promise Cache _Solution.mp4
│ ├── 23. Optimistic UI _Solution.srt
│ ├── 13. Intro to Dynamic Promises.srt
│ ├── 42. Parallel Loading _Problem.mp4
│ ├── 8. Utility _ Problem.srt
│ ├── 40. Dad Joke Break Responsive.srt
│ ├── 29. Intro to Suspense img.srt
│ ├── 12. Dad Joke Break Data fetching.mp4
│ ├── 28. Dad Joke Break Optimistic UI.vtt
│ ├── 27. Multi-step Actions _ Solution.srt
│ ├── 13. Intro to Dynamic Promises.vtt
│ ├── 22. Optimistic UI _Problem.mp4
│ ├── 5. Error Handling _ Solution.vtt
│ ├── 16. useTransition _Problem.mp4
│ ├── 40. Dad Joke Break Responsive.vtt
│ ├── 47. Outro to React Suspense.srt
│ ├── 22. Optimistic UI _Problem.srt
│ ├── 29. Intro to Suspense img.vtt
│ ├── 4. Error Handling _Problem.srt
│ ├── 33. Img Error Boundary _Solution.mp4
│ ├── 9. Utility _Solution.vtt
│ ├── 13. Intro to Dynamic Promises.mp4
│ ├── 26. Multi-step Actions _Problem.srt
│ ├── 2. Throwing Promises _Problem.mp4
│ ├── 24. Form Status _ Problem.mp4
│ ├── 8. Utility _ Problem.mp4
│ ├── 14. Promise Cache _Problem.mp4
│ ├── 18. Pending Flash _Problem.vtt
│ ├── 6. Formal Status _Problem.mp4
│ ├── 39. useDeferredValue _Solution.srt
│ ├── 16. useTransition _Problem.vtt
│ ├── 44. Server Cache _Problem.srt
│ ├── 12. Dad Joke Break Data fetching.vtt
│ ├── 19. Pending Flash _Solution.srt
│ ├── 41. Intro to Optimizations.mp4
│ ├── 18. Pending Flash _Problem.mp4
│ ├── 47. Outro to React Suspense.vtt
│ ├── 7. Formal Status _Solution.vtt
│ ├── 37. Intro to Responsive.srt
│ ├── 18. Pending Flash _Problem.srt
│ ├── 43. Parallel Loading _Solution.srt
│ ├── 36. Dad Joke Break Suspense img.vtt
│ ├── 37. Intro to Responsive.vtt
├── 7 React Server Components
│ ├── 7. RSCs _Problem.vtt
│ ├── 19. Module Resolution _Solution.vtt
│ ├── 13. Server Context _Solution.mp4
│ ├── 44. Dad Joke Break Server Actions.vtt
│ ├── 19. Module Resolution _Solution.mp4
│ ├── 25. Pending UI _Solution.vtt
│ ├── 34. Action Reference _ Problem.srt
│ ├── 16. Node.js Loader _Problem.mp4
│ ├── 25. Pending UI _Solution.srt
│ ├── 28. History _Problem.mp4
│ ├── 5. Dad Joke Break Warm Up.mp4
│ ├── 1. React Server Components Intro.vtt
│ ├── 10. Streaming _Problem.vtt
│ ├── 36. Client Side _Problem.mp4
│ ├── 35. Action Reference _Solution.srt
│ ├── 44. Dad Joke Break Server Actions.srt
│ ├── 26. Race Conditions _Problem.mp4
│ ├── 6. Intro to Server Components.mp4
│ ├── 33. Intro to Server Actions.mp4
│ ├── 17. Node.js Loader _Solution.vtt
│ ├── 14. Dad Joke Break Server Components.srt
│ ├── 12. Server Context _Problem.vtt
│ ├── 9. Async Components _Solution.srt
│ ├── 12. Server Context _Problem.mp4
│ ├── 1. React Server Components Intro.mp4
│ ├── 22. Client Router _Problem.mp4
│ ├── 13. Server Context _Solution.srt
│ ├── 14. Dad Joke Break Server Components.mp4
│ ├── 7. RSCs _Problem.mp4
│ ├── 18. Module Resolution _Problem.srt
│ ├── 30. Cache _Problem.srt
│ ├── 5. Dad Joke Break Warm Up.vtt
│ ├── 27. Race Conditions _Solution.mp4
│ ├── 36. Client Side _Problem.srt
│ ├── 41. Revalidation _Solution.srt
│ ├── 39. Server Side _Solution.srt
│ ├── 6. Intro to Server Components.vtt
│ ├── 37. Client Side _ Solution.vtt
│ ├── 42. History Revalidation _ Problem.mp4
│ ├── 10. Streaming _Problem.mp4
│ ├── 31. Cache _Solution.vtt
│ ├── 40. Revalidation _Problem.srt
│ ├── 23. Client Router _Solution.srt
│ ├── React Server Components.txt
│ ├── 29. History _Solution.vtt
│ ├── 12. Server Context _Problem.srt
│ ├── 32. Dad Joke Break Client Router.srt
│ ├── 32. Dad Joke Break Client Router.vtt
│ ├── 29. History _Solution.mp4
│ ├── 38. Server Side _Problem.vtt
│ ├── 3. Static React App _Problem.srt
│ ├── 4. Static React App _Solution.vtt
│ ├── 18. Module Resolution _Problem.mp4
│ ├── 33. Intro to Server Actions.srt
│ ├── 38. Server Side _Problem.srt
│ ├── 9. Async Components _Solution.mp4
│ ├── 45. Outro to React Server Components.mp4
│ ├── 40. Revalidation _Problem.vtt
│ ├── 21. Intro to Client Router.srt
│ ├── 25. Pending UI _Solution.mp4
│ ├── 8. Async Components _ Problem.srt
│ ├── 27. Race Conditions _Solution.vtt
│ ├── 4. Static React App _Solution.srt
│ ├── 23. Client Router _Solution.vtt
│ ├── 6. Intro to Server Components.srt
│ ├── 14. Dad Joke Break Server Components.vtt
│ ├── 10. Streaming _Problem.srt
│ ├── 29. History _Solution.srt
│ ├── 15. Intro to Client Components.srt
│ ├── 39. Server Side _Solution.vtt
│ ├── 26. Race Conditions _Problem.srt
│ ├── 28. History _Problem.srt
│ ├── 34. Action Reference _ Problem.vtt
│ ├── 16. Node.js Loader _Problem.vtt
│ ├── 41. Revalidation _Solution.vtt
│ ├── 18. Module Resolution _Problem.vtt
│ ├── 8. Async Components _ Problem.mp4
│ ├── 2. Intro to Warm Up.srt
│ ├── 3. Static React App _Problem.vtt
│ ├── 39. Server Side _Solution.mp4
│ ├── 24. Pending UI _Problem.mp4
│ ├── 26. Race Conditions _Problem.vtt
│ ├── 31. Cache _Solution.srt
│ ├── 4. Static React App _Solution.mp4
│ ├── 40. Revalidation _Problem.mp4
│ ├── 9. Async Components _Solution.vtt
│ ├── 44. Dad Joke Break Server Actions.mp4
│ ├── 34. Action Reference _ Problem.mp4
│ ├── 43. History Revalidation _Solution.mp4
│ ├── 45. Outro to React Server Components.srt
│ ├── 15. Intro to Client Components.mp4
│ ├── 11. Streaming _ Solution.mp4
│ ├── 38. Server Side _Problem.mp4
│ ├── 19. Module Resolution _Solution.srt
│ ├── 27. Race Conditions _Solution.srt
│ ├── 17. Node.js Loader _Solution.mp4
│ ├── 42. History Revalidation _ Problem.srt
│ ├── 35. Action Reference _Solution.vtt
│ ├── 37. Client Side _ Solution.mp4
│ ├── 24. Pending UI _Problem.vtt
│ ├── 45. Outro to React Server Components.vtt
│ ├── 20. Dad Joke Break Client Components.srt
│ ├── 28. History _Problem.vtt
│ ├── 13. Server Context _Solution.vtt
│ ├── 35. Action Reference _Solution.mp4
│ ├── 32. Dad Joke Break Client Router.mp4
│ ├── 23. Client Router _Solution.mp4
│ ├── 15. Intro to Client Components.vtt
│ ├── 1. React Server Components Intro.srt
│ ├── 37. Client Side _ Solution.srt
│ ├── 41. Revalidation _Solution.mp4
│ ├── 36. Client Side _Problem.vtt
│ ├── 24. Pending UI _Problem.srt
│ ├── 7. RSCs _Problem.srt
│ ├── 22. Client Router _Problem.vtt
│ ├── 20. Dad Joke Break Client Components.vtt
│ ├── 11. Streaming _ Solution.srt
│ ├── 43. History Revalidation _Solution.vtt
│ ├── 11. Streaming _ Solution.vtt
│ ├── 8. Async Components _ Problem.vtt
│ ├── 21. Intro to Client Router.mp4
│ ├── 42. History Revalidation _ Problem.vtt
│ ├── 2. Intro to Warm Up.mp4
│ ├── 33. Intro to Server Actions.vtt
│ ├── 21. Intro to Client Router.vtt
│ ├── 43. History Revalidation _Solution.srt
│ ├── 16. Node.js Loader _Problem.srt
│ ├── 22. Client Router _Problem.srt
│ ├── 30. Cache _Problem.vtt
│ ├── 3. Static React App _Problem.mp4
│ ├── 17. Node.js Loader _Solution.srt
│ ├── 31. Cache _Solution.mp4
│ ├── 20. Dad Joke Break Client Components.mp4
│ ├── 30. Cache _Problem.mp4
│ ├── 5. Dad Joke Break Warm Up.srt
│ ├── 2. Intro to Warm Up.vtt
├── 5 Advanced React Patterns
│ ├── 37. State Reducer _Problem.vtt
│ ├── 21. Slot Prop _Problem.srt
│ ├── 7. Latest Ref _ Problem.mp4
│ ├── 29. Dad Joke Break Prop Collections and Getters.mp4
│ ├── 8. Latest Ref _Solution.vtt
│ ├── 38. State Reducer _Solution.vtt
│ ├── Advanced React Patterns.txt
│ ├── 33. Stability _Problem.mp4
│ ├── 15. Dad Joke Break Compound Components.vtt
│ ├── 45. Dad Joke Break Control Props.srt
│ ├── 9. Dad Joke Break Latest Ref.srt
│ ├── 18. Slot Context _ Solution.srt
│ ├── 13. Compound Components Validation _ Problem.srt
│ ├── 37. State Reducer _Problem.mp4
│ ├── 5. Dad Joke Break Composition.mp4
│ ├── 10. Intro to Compound Components.mp4
│ ├── 3. Composition and Layout Components _ Problem.vtt
│ ├── 41. Dad Joke Break State Reducer.vtt
│ ├── 30. Intro to State Initializer.vtt
│ ├── 41. Dad Joke Break State Reducer.srt
│ ├── 31. Initialize Toggle _Problem.srt
│ ├── 11. Compound Components _ Problem.vtt
│ ├── 6. Intro to Latest Ref.srt
│ ├── 18. Slot Context _ Solution.mp4
│ ├── 35. Dad Joke Break State Initializer.vtt
│ ├── 46. Outro to Advanced React Patterns.vtt
│ ├── 21. Slot Prop _Problem.vtt
│ ├── 46. Outro to Advanced React Patterns.mp4
│ ├── 34. Stability _Solution.mp4
│ ├── 36. Intro to State Reducer.vtt
│ ├── 13. Compound Components Validation _ Problem.vtt
│ ├── 45. Dad Joke Break Control Props.mp4
│ ├── 38. State Reducer _Solution.srt
│ ├── 41. Dad Joke Break State Reducer.mp4
│ ├── 16. Intro to Slots.srt
│ ├── 30. Intro to State Initializer.srt
│ ├── 34. Stability _Solution.srt
│ ├── 27. Prop Getters _Problem.srt
│ ├── 35. Dad Joke Break State Initializer.srt
│ ├── 43. Control Props _Problem.mp4
│ ├── 42. Intro to Control Props.vtt
│ ├── 24. Intro to Prop Collections and Getters.srt
│ ├── 22. Slot Prop _ Solution.srt
│ ├── 40. Default State Reducer _Solution.vtt
│ ├── 31. Initialize Toggle _Problem.mp4
│ ├── 12. Compound Components _ Solution.srt
│ ├── 18. Slot Context _ Solution.vtt
│ ├── 40. Default State Reducer _Solution.srt
│ ├── 14. Compound Components Validation _Solution.mp4
│ ├── 14. Compound Components Validation _Solution.vtt
│ ├── 21. Slot Prop _Problem.mp4
│ ├── 1. Advanced React Patterns Intro.srt
│ ├── 27. Prop Getters _Problem.vtt
│ ├── 40. Default State Reducer _Solution.mp4
│ ├── 16. Intro to Slots.vtt
│ ├── 25. Prop Collections _Problem.srt
│ ├── 28. Prop Getters _Solution.srt
│ ├── 10. Intro to Compound Components.vtt
│ ├── 25. Prop Collections _Problem.mp4
│ ├── 17. Slot Context _Problem.mp4
│ ├── 17. Slot Context _Problem.srt
│ ├── 25. Prop Collections _Problem.vtt
│ ├── 19. Generic Slot Components _ Problem.mp4
│ ├── 32. Initialize Toggle _Solution.mp4
│ ├── 7. Latest Ref _ Problem.vtt
│ ├── 20. Generic Slot Components _ Solution.srt
│ ├── 11. Compound Components _ Problem.mp4
│ ├── 32. Initialize Toggle _Solution.srt
│ ├── 4. Composition and Layout Components _Solution.mp4
│ ├── 16. Intro to Slots.mp4
│ ├── 42. Intro to Control Props.mp4
│ ├── 34. Stability _Solution.vtt
│ ├── 8. Latest Ref _Solution.mp4
│ ├── 10. Intro to Compound Components.srt
│ ├── 30. Intro to State Initializer.mp4
│ ├── 39. Default State Reducer _Problem.srt
│ ├── 23. Dad Joke Break Slots.vtt
│ ├── 36. Intro to State Reducer.srt
│ ├── 2. Intro to Composition.vtt
│ ├── 31. Initialize Toggle _Problem.vtt
│ ├── 19. Generic Slot Components _ Problem.srt
│ ├── 39. Default State Reducer _Problem.vtt
│ ├── 9. Dad Joke Break Latest Ref.mp4
│ ├── 19. Generic Slot Components _ Problem.vtt
│ ├── 3. Composition and Layout Components _ Problem.mp4
│ ├── 26. Prop Collections _Solution.vtt
│ ├── 14. Compound Components Validation _Solution.srt
│ ├── 15. Dad Joke Break Compound Components.srt
│ ├── 22. Slot Prop _ Solution.mp4
│ ├── 6. Intro to Latest Ref.mp4
│ ├── 20. Generic Slot Components _ Solution.mp4
│ ├── 5. Dad Joke Break Composition.vtt
│ ├── 1. Advanced React Patterns Intro.vtt
│ ├── 44. Control Props _Solution.srt
│ ├── 35. Dad Joke Break State Initializer.mp4
│ ├── 11. Compound Components _ Problem.srt
│ ├── 46. Outro to Advanced React Patterns.srt
│ ├── 28. Prop Getters _Solution.vtt
│ ├── 1. Advanced React Patterns Intro.mp4
│ ├── 42. Intro to Control Props.srt
│ ├── 26. Prop Collections _Solution.srt
│ ├── 3. Composition and Layout Components _ Problem.srt
│ ├── 4. Composition and Layout Components _Solution.srt
│ ├── 33. Stability _Problem.srt
│ ├── 43. Control Props _Problem.vtt
│ ├── 8. Latest Ref _Solution.srt
│ ├── 5. Dad Joke Break Composition.srt
│ ├── 44. Control Props _Solution.vtt
│ ├── 29. Dad Joke Break Prop Collections and Getters.vtt
│ ├── 32. Initialize Toggle _Solution.vtt
│ ├── 44. Control Props _Solution.mp4
│ ├── 45. Dad Joke Break Control Props.vtt
│ ├── 20. Generic Slot Components _ Solution.vtt
│ ├── 43. Control Props _Problem.srt
│ ├── 2. Intro to Composition.srt
│ ├── 36. Intro to State Reducer.mp4
│ ├── 39. Default State Reducer _Problem.mp4
│ ├── 9. Dad Joke Break Latest Ref.vtt
│ ├── 4. Composition and Layout Components _Solution.vtt
│ ├── 29. Dad Joke Break Prop Collections and Getters.srt
│ ├── 37. State Reducer _Problem.srt
│ ├── 15. Dad Joke Break Compound Components.mp4
│ ├── 12. Compound Components _ Solution.vtt
│ ├── 12. Compound Components _ Solution.mp4
│ ├── 7. Latest Ref _ Problem.srt
│ ├── 2. Intro to Composition.mp4
│ ├── 24. Intro to Prop Collections and Getters.mp4
│ ├── 13. Compound Components Validation _ Problem.mp4
│ ├── 23. Dad Joke Break Slots.mp4
│ ├── 26. Prop Collections _Solution.mp4
│ ├── 23. Dad Joke Break Slots.srt
│ ├── 27. Prop Getters _Problem.mp4
│ ├── 6. Intro to Latest Ref.vtt
│ ├── 17. Slot Context _Problem.vtt
│ ├── 28. Prop Getters _Solution.mp4
│ ├── 38. State Reducer _Solution.mp4
│ ├── 24. Intro to Prop Collections and Getters.vtt
│ ├── 22. Slot Prop _ Solution.vtt
│ ├── 33. Stability _Problem.vtt
├── 3 Advanced React APIs
│ ├── 48. Intro to Sync External State.srt
│ ├── 51. Make Store Utility _Problem.srt
│ ├── 14. Real World _ solution.mp4
│ ├── 12. Traditional Reducer _ solution.mp4
│ ├── 28. Context Provider _ solution.mp4
│ ├── 5. Previous State _ Problem.mp4
│ ├── 10. Action Function _ solution.srt
│ ├── 44. Intro to Focus Management.srt
│ ├── 30. Context Hook _ solution.srt
│ ├── 27. Context Provider _ Problem.mp4
│ ├── 40. Intro to Imperative Handles.mp4
│ ├── 22. Hook Function _ solution.mp4
│ ├── 9. Action Function _ Problem.srt
│ ├── 40. Intro to Imperative Handles.vtt
│ ├── 23. useCallback _ Problem.vtt
│ ├── 38. useLayoutEffect _solution.mp4
│ ├── 4. New State _ solution.vtt
│ ├── 55. Dad Joke Break Sync External State.srt
│ ├── 1. Advanced React APIs Intro.srt
│ ├── 51. Make Store Utility _Problem.mp4
│ ├── 42. useImperativeHandle _ solution.mp4
│ ├── 5. Previous State _ Problem.vtt
│ ├── 11. Traditional Reducer _ Problem.vtt
│ ├── 7. State Object _ Problem.vtt
│ ├── 37. useLayoutEffect _Problem.mp4
│ ├── 20. Intro to Custom Hooks.srt
│ ├── 16. Intro to State Optimization.vtt
│ ├── 25. Dad Joke Break Custom Hooks.vtt
│ ├── 24. useCallback _ solution.srt
│ ├── 52. Make Store Utility _solution.srt
│ ├── 22. Hook Function _ solution.srt
│ ├── 4. New State _ solution.mp4
│ ├── 49. useSyncExternalStore _Problem.vtt
│ ├── 36. Intro to Layout Computation.vtt
│ ├── 33. createPortal _ Problem.vtt
│ ├── 56. Outro to Advanced React APIs.mp4
│ ├── 44. Intro to Focus Management.vtt
│ ├── 8. State Object _ solution.srt
│ ├── 18. Optimize state updates _solution.srt
│ ├── 2. Intro to Advanced State Management.mp4
│ ├── 55. Dad Joke Break Sync External State.mp4
│ ├── 28. Context Provider _ solution.srt
│ ├── 18. Optimize state updates _solution.vtt
│ ├── 43. Dad Joke Break Imperative Handles.srt
│ ├── 54. Handling Server Rendering _solution.srt
│ ├── 47. Dad Joke Break Focus Management.vtt
│ ├── 1. Advanced React APIs Intro.mp4
│ ├── 47. Dad Joke Break Focus Management.mp4
│ ├── 27. Context Provider _ Problem.srt
│ ├── 34. createPortal _ solution.srt
│ ├── 6. Previous State _ solution.vtt
│ ├── 38. useLayoutEffect _solution.srt
│ ├── 14. Real World _ solution.vtt
│ ├── 9. Action Function _ Problem.vtt
│ ├── 22. Hook Function _ solution.vtt
│ ├── 35. Dad Joke Break Portals.vtt
│ ├── 13. Real World _Problem.vtt
│ ├── 35. Dad Joke Break Portals.srt
│ ├── 19. Dad Joke Break State Optimization.srt
│ ├── 24. useCallback _ solution.mp4
│ ├── 5. Previous State _ Problem.srt
│ ├── 46. flushSync _solution.srt
│ ├── 45. flushSync _Problem.mp4
│ ├── 3. New State _ Problem.srt
│ ├── 21. Hook Function _Problem.vtt
│ ├── 40. Intro to Imperative Handles.srt
│ ├── 37. useLayoutEffect _Problem.vtt
│ ├── 50. useSyncExternalStore _solution.mp4
│ ├── 8. State Object _ solution.mp4
│ ├── 23. useCallback _ Problem.srt
│ ├── 14. Real World _ solution.srt
│ ├── 26. Intro to Shared Context.vtt
│ ├── 1. Advanced React APIs Intro.vtt
│ ├── 52. Make Store Utility _solution.mp4
│ ├── 15. Dad Joke Break Advanced State Management.mp4
│ ├── 20. Intro to Custom Hooks.mp4
│ ├── 8. State Object _ solution.vtt
│ ├── 19. Dad Joke Break State Optimization.mp4
│ ├── 11. Traditional Reducer _ Problem.mp4
│ ├── 21. Hook Function _Problem.srt
│ ├── 11. Traditional Reducer _ Problem.srt
│ ├── 23. useCallback _ Problem.mp4
│ ├── 12. Traditional Reducer _ solution.srt
│ ├── 32. Intro to Portals.srt
│ ├── 29. Context Hook _ Problem.srt
│ ├── 34. createPortal _ solution.mp4
│ ├── 15. Dad Joke Break Advanced State Management.srt
│ ├── 44. Intro to Focus Management.mp4
│ ├── 6. Previous State _ solution.srt
│ ├── 33. createPortal _ Problem.srt
│ ├── 10. Action Function _ solution.mp4
│ ├── 41. useImperativeHandle _Problem.srt
│ ├── 39. Dad Joke Break Layout Computation.mp4
│ ├── 3. New State _ Problem.mp4
│ ├── 39. Dad Joke Break Layout Computation.srt
│ ├── 31. Dad Joke Break Shared Context.srt
│ ├── 56. Outro to Advanced React APIs.srt
│ ├── 4. New State _ solution.srt
│ ├── 41. useImperativeHandle _Problem.mp4
│ ├── 30. Context Hook _ solution.mp4
│ ├── 17. Optimize state updates _ Problem.mp4
│ ├── 55. Dad Joke Break Sync External State.vtt
│ ├── 26. Intro to Shared Context.srt
│ ├── 33. createPortal _ Problem.mp4
│ ├── 46. flushSync _solution.vtt
│ ├── 7. State Object _ Problem.mp4
│ ├── 56. Outro to Advanced React APIs.vtt
│ ├── 47. Dad Joke Break Focus Management.srt
│ ├── 51. Make Store Utility _Problem.vtt
│ ├── 2. Intro to Advanced State Management.vtt
│ ├── 48. Intro to Sync External State.vtt
│ ├── 2. Intro to Advanced State Management.srt
│ ├── 36. Intro to Layout Computation.mp4
│ ├── 29. Context Hook _ Problem.mp4
│ ├── 32. Intro to Portals.mp4
│ ├── 32. Intro to Portals.vtt
│ ├── 53. Handling Server Rendering _Problem.srt
│ ├── 18. Optimize state updates _solution.mp4
│ ├── 41. useImperativeHandle _Problem.vtt
│ ├── 6. Previous State _ solution.mp4
│ ├── 27. Context Provider _ Problem.vtt
│ ├── 54. Handling Server Rendering _solution.mp4
│ ├── 42. useImperativeHandle _ solution.vtt
│ ├── 54. Handling Server Rendering _solution.vtt
│ ├── 29. Context Hook _ Problem.vtt
│ ├── 50. useSyncExternalStore _solution.srt
│ ├── 17. Optimize state updates _ Problem.vtt
│ ├── 39. Dad Joke Break Layout Computation.vtt
│ ├── 53. Handling Server Rendering _Problem.mp4
│ ├── 15. Dad Joke Break Advanced State Management.vtt
│ ├── 19. Dad Joke Break State Optimization.vtt
│ ├── 38. useLayoutEffect _solution.vtt
│ ├── 3. New State _ Problem.vtt
│ ├── 17. Optimize state updates _ Problem.srt
│ ├── 16. Intro to State Optimization.mp4
│ ├── 7. State Object _ Problem.srt
│ ├── 53. Handling Server Rendering _Problem.vtt
│ ├── 46. flushSync _solution.mp4
│ ├── 30. Context Hook _ solution.vtt
│ ├── 50. useSyncExternalStore _solution.vtt
│ ├── 35. Dad Joke Break Portals.mp4
│ ├── 26. Intro to Shared Context.mp4
│ ├── 43. Dad Joke Break Imperative Handles.vtt
│ ├── 42. useImperativeHandle _ solution.srt
│ ├── 45. flushSync _Problem.vtt
│ ├── 49. useSyncExternalStore _Problem.mp4
│ ├── 28. Context Provider _ solution.vtt
│ ├── 25. Dad Joke Break Custom Hooks.srt
│ ├── 24. useCallback _ solution.vtt
│ ├── Advanced React APIs.txt
│ ├── 36. Intro to Layout Computation.srt
│ ├── 13. Real World _Problem.srt
│ ├── 52. Make Store Utility _solution.vtt
│ ├── 10. Action Function _ solution.vtt
│ ├── 31. Dad Joke Break Shared Context.vtt
│ ├── 37. useLayoutEffect _Problem.srt
│ ├── 12. Traditional Reducer _ solution.vtt
│ ├── 31. Dad Joke Break Shared Context.mp4
│ ├── 16. Intro to State Optimization.srt
│ ├── 21. Hook Function _Problem.mp4
│ ├── 43. Dad Joke Break Imperative Handles.mp4
│ ├── 34. createPortal _ solution.vtt
│ ├── 13. Real World _Problem.mp4
│ ├── 25. Dad Joke Break Custom Hooks.mp4
│ ├── 48. Intro to Sync External State.mp4
│ ├── 20. Intro to Custom Hooks.vtt
│ ├── 49. useSyncExternalStore _Problem.srt
│ ├── 45. flushSync _Problem.srt
│ ├── 9. Action Function _ Problem.mp4
├── 1 React Fundamentals
│ ├── 016 Compiling JSX.vtt
│ ├── 093 Key prop (1).vtt
│ ├── 044 Default Props.vtt
│ ├── 099 Outro to React Fundamentals.vtt
│ ├── 080 Default Value.mp4
│ ├── 090 Dad Joke Break Error Boundaries.mp4
│ ├── 013 Deep Nesting Elements (1).mp4
│ ├── 070 Dad Joke Break Forms.vtt
│ ├── 058 Dad Joke Break Styling.srt
│ ├── 010 Nesting Elements.vtt
│ ├── 016 Compiling JSX.mp4
│ ├── 037 Intro to TypeScript.srt
│ ├── 042 Derive Types.vtt
│ ├── 006 Dad Joke Break.mp4
│ ├── 039 Props (3).vtt
│ ├── 070 Dad Joke Break Forms.mp4
│ ├── 033 JSX Components (1).srt
│ ├── 025 Fragments (1).mp4
│ ├── 093 Key prop (1).srt
│ ├── 039 Props (3).srt
│ ├── 036 Dad Joke Break Custom Components.vtt
│ ├── 026 Dad Joke Break Using JSX.vtt
│ ├── 043 Derive Types (1).mp4
│ ├── 080 Default Value.srt
│ ├── 047 Reduce Duplication (1).mp4
│ ├── 055 Custom Component (1).mp4
│ ├── 011 Nesting Elements (1).vtt
│ ├── 009 Create React Elements (1).mp4
│ ├── 002 Hello World in JS.vtt
│ ├── 036 Dad Joke Break Custom Components.srt
│ ├── 025 Fragments (1).srt
│ ├── 076 Radios.vtt
│ ├── 001 Intro.vtt
│ ├── 004 Generate the Root Node.srt
│ ├── 039 Props (3).mp4
│ ├── 098 Dad Joke Break Rendering Arrays.mp4
│ ├── 073 Checkbox (1).srt
│ ├── 017 Compiling JSX (1).srt
│ ├── 077 Radios (1).mp4
│ ├── 082 Dad Joke Break Inputs.vtt
│ ├── 020 Spread props.srt
│ ├── 018 Interpolation.mp4
│ ├── 054 Custom Component.vtt
│ ├── 019 Interpolation (1).srt
│ ├── 089 Reset (1).srt
│ ├── 051 Intro to Styling.mp4
│ ├── 023 Nesting JSX (1).vtt
│ ├── 067 Submission (1).mp4
│ ├── 078 Hidden Inputs.srt
│ ├── 050 Dad Joke Break TypeScript.srt
│ ├── 030 Raw API.srt
│ ├── 049 Satisfies (1).srt
│ ├── 099 Outro to React Fundamentals.srt
│ ├── 088 Reset.srt
│ ├── 088 Reset.mp4
│ ├── 086 Other Errors.vtt
│ ├── 014 Dad Joke Break Raw React APIs.vtt
│ ├── 098 Dad Joke Break Rendering Arrays.srt
│ ├── 005 Generate the Root Node (1).srt
│ ├── 089 Reset (1).mp4
│ ├── 038 Props (2).vtt
│ ├── 056 Size Prop.mp4
│ ├── 082 Dad Joke Break Inputs.srt
│ ├── 084 Composition.vtt
│ ├── 048 Satisfies.srt
│ ├── 096 Key Reset.vtt
│ ├── 057 Size Prop (1).vtt
│ ├── 095 Focus State (1).srt
│ ├── 038 Props (2).mp4
│ ├── 015 Intro to Using JSX.vtt
│ ├── 089 Reset (1).vtt
│ ├── 024 Fragments.vtt
│ ├── 057 Size Prop (1).srt
│ ├── 060 Form.vtt
│ ├── 048 Satisfies.vtt
│ ├── 005 Generate the Root Node (1).vtt
│ ├── 097 Key Reset (1).vtt
│ ├── 050 Dad Joke Break TypeScript.mp4
│ ├── 025 Fragments (1).vtt
│ ├── 032 JSX Components.vtt
│ ├── 075 Select (1).srt
│ ├── 033 JSX Components (1).vtt
│ ├── 092 Key prop.srt
│ ├── 020 Spread props.vtt
│ ├── 001 Intro.mp4
│ ├── 087 Other Errors (1).srt
│ ├── 010 Nesting Elements.srt
│ ├── 004 Generate the Root Node.vtt
│ ├── 003 Hello World in JS (1).vtt
│ ├── 013 Deep Nesting Elements (1).srt
│ ├── 071 Intro to Inputs.vtt
│ ├── 037 Intro to TypeScript.vtt
│ ├── 008 Create React Elements.mp4
│ ├── 017 Compiling JSX (1).vtt
│ ├── 043 Derive Types (1).vtt
│ ├── 023 Nesting JSX (1).srt
│ ├── 028 Simple Function.srt
│ ├── 049 Satisfies (1).vtt
│ ├── 076 Radios.mp4
│ ├── 035 Props (1).mp4
│ ├── 067 Submission (1).srt
│ ├── 061 Form (1).mp4
│ ├── 048 Satisfies.mp4
│ ├── 019 Interpolation (1).vtt
│ ├── 064 Input Types.srt
│ ├── 068 Form Actions.vtt
│ ├── 041 Narrow Types (1).mp4
│ ├── 097 Key Reset (1).mp4
│ ├── 094 Focus State.vtt
│ ├── 006 Dad Joke Break.srt
│ ├── 066 Submission.srt
│ ├── 032 JSX Components.mp4
│ ├── 092 Key prop.mp4
│ ├── 045 Default Props (1).srt
│ ├── 007 Intro to Raw React APIs.mp4
│ ├── 079 Hidden Inputs (1).mp4
│ ├── 030 Raw API.mp4
│ ├── 052 Styling.srt
│ ├── 045 Default Props (1).vtt
│ ├── 028 Simple Function.vtt
│ ├── 063 Form Action (1).srt
│ ├── 029 Simple Function (1).mp4
│ ├── 050 Dad Joke Break TypeScript.vtt
│ ├── 031 Raw API (1).srt
│ ├── 029 Simple Function (1).vtt
│ ├── 080 Default Value.vtt
│ ├── 077 Radios (1).srt
│ ├── 072 Checkbox.mp4
│ ├── 077 Radios (1).vtt
│ ├── 078 Hidden Inputs.vtt
│ ├── 085 Composition (1).mp4
│ ├── 051 Intro to Styling.srt
│ ├── 069 Form Actions (1).mp4
│ ├── 040 Narrow Types.mp4
│ ├── 022 Nesting JSX.mp4
│ ├── 024 Fragments.mp4
│ ├── 086 Other Errors.srt
│ ├── 063 Form Action (1).mp4
│ ├── 017 Compiling JSX (1).mp4
│ ├── 003 Hello World in JS (1).mp4
│ ├── 076 Radios.srt
│ ├── 095 Focus State (1).mp4
│ ├── 068 Form Actions.srt
│ ├── 073 Checkbox (1).vtt
│ ├── 027 Intro to Custom Components.srt
│ ├── 085 Composition (1).vtt
│ ├── 018 Interpolation.srt
│ ├── 044 Default Props.mp4
│ ├── 041 Narrow Types (1).vtt
│ ├── 071 Intro to Inputs.srt
│ ├── 090 Dad Joke Break Error Boundaries.vtt
│ ├── 082 Dad Joke Break Inputs.mp4
│ ├── 062 Form Action.vtt
│ ├── 016 Compiling JSX.srt
│ ├── 015 Intro to Using JSX.srt
│ ├── 074 Select.mp4
│ ├── 008 Create React Elements.srt
│ ├── 090 Dad Joke Break Error Boundaries.srt
│ ├── 011 Nesting Elements (1).mp4
│ ├── 004 Generate the Root Node.mp4
│ ├── 096 Key Reset.srt
│ ├── 043 Derive Types (1).srt
│ ├── 087 Other Errors (1).vtt
│ ├── 087 Other Errors (1).mp4
│ ├── 046 Reduce Duplication.vtt
│ ├── 060 Form.srt
│ ├── 091 Intro to Rendering Arrays.mp4
│ ├── 047 Reduce Duplication (1).vtt
│ ├── 021 Spread props (1).mp4
│ ├── 034 Props.srt
│ ├── 081 Default Value (1).mp4
│ ├── 040 Narrow Types.srt
│ ├── 002 Hello World in JS.srt
│ ├── 066 Submission.mp4
│ ├── 061 Form (1).vtt
│ ├── 026 Dad Joke Break Using JSX.mp4
│ ├── 018 Interpolation.vtt
│ ├── 003 Hello World in JS (1).srt
│ ├── 009 Create React Elements (1).srt
│ ├── 021 Spread props (1).srt
│ ├── 055 Custom Component (1).vtt
│ ├── 036 Dad Joke Break Custom Components.mp4
│ ├── 084 Composition.mp4
│ ├── 014 Dad Joke Break Raw React APIs.mp4
│ ├── 001 Intro.srt
│ ├── 059 Intro to Forms.mp4
│ ├── 011 Nesting Elements (1).srt
│ ├── 005 Generate the Root Node (1).mp4
│ ├── 062 Form Action.mp4
│ ├── 006 Dad Joke Break.vtt
│ ├── 031 Raw API (1).mp4
│ ├── 052 Styling.vtt
│ ├── 098 Dad Joke Break Rendering Arrays.vtt
│ ├── 099 Outro to React Fundamentals.mp4
│ ├── 067 Submission (1).vtt
│ ├── 020 Spread props.mp4
│ ├── 015 Intro to Using JSX.mp4
│ ├── 084 Composition.srt
│ ├── 059 Intro to Forms.vtt
│ ├── 044 Default Props.srt
│ ├── 079 Hidden Inputs (1).vtt
│ ├── 079 Hidden Inputs (1).srt
│ ├── 037 Intro to TypeScript.mp4
│ ├── 027 Intro to Custom Components.vtt
│ ├── 024 Fragments.srt
│ ├── 012 Deep Nesting Elements.vtt
│ ├── 093 Key prop (1).mp4
│ ├── 007 Intro to Raw React APIs.vtt
│ ├── 013 Deep Nesting Elements (1).vtt
│ ├── 094 Focus State.mp4
│ ├── 058 Dad Joke Break Styling.vtt
│ ├── 083 Intro to Error Boundaries.vtt
│ ├── 064 Input Types.mp4
│ ├── 061 Form (1).srt
│ ├── 083 Intro to Error Boundaries.srt
│ ├── 062 Form Action.srt
│ ├── 074 Select.vtt
│ ├── 055 Custom Component (1).srt
│ ├── 046 Reduce Duplication.mp4
│ ├── 088 Reset.vtt
│ ├── 065 Input Types (1).srt
│ ├── 073 Checkbox (1).mp4
│ ├── 058 Dad Joke Break Styling.mp4
│ ├── 012 Deep Nesting Elements.srt
│ ├── 070 Dad Joke Break Forms.srt
│ ├── 054 Custom Component.mp4
│ ├── 042 Derive Types.srt
│ ├── 094 Focus State.srt
│ ├── 057 Size Prop (1).mp4
│ ├── 075 Select (1).mp4
│ ├── 091 Intro to Rendering Arrays.vtt
│ ├── 072 Checkbox.vtt
│ ├── 052 Styling.mp4
│ ├── 022 Nesting JSX.srt
│ ├── 035 Props (1).vtt
│ ├── 002 Hello World in JS.mp4
│ ├── 014 Dad Joke Break Raw React APIs.srt
│ ├── 078 Hidden Inputs.mp4
│ ├── 010 Nesting Elements.mp4
│ ├── 059 Intro to Forms.srt
│ ├── 081 Default Value (1).vtt
│ ├── 069 Form Actions (1).srt
│ ├── 022 Nesting JSX.vtt
│ ├── 063 Form Action (1).vtt
│ ├── 069 Form Actions (1).vtt
│ ├── 065 Input Types (1).vtt
│ ├── 066 Submission.vtt
│ ├── 075 Select (1).vtt
│ ├── 091 Intro to Rendering Arrays.srt
│ ├── 019 Interpolation (1).mp4
│ ├── 027 Intro to Custom Components.mp4
│ ├── 060 Form.mp4
│ ├── 038 Props (2).srt
│ ├── 046 Reduce Duplication.srt
│ ├── 009 Create React Elements (1).vtt
│ ├── 021 Spread props (1).vtt
│ ├── 056 Size Prop.vtt
│ ├── 007 Intro to Raw React APIs.srt
│ ├── 045 Default Props (1).mp4
│ ├── 081 Default Value (1).srt
│ ├── 096 Key Reset.mp4
│ ├── 092 Key prop.vtt
│ ├── 095 Focus State (1).vtt
│ ├── 034 Props.mp4
│ ├── 012 Deep Nesting Elements.mp4
│ ├── 040 Narrow Types.vtt
│ ├── 029 Simple Function (1).srt
│ ├── 083 Intro to Error Boundaries.mp4
│ ├── 064 Input Types.vtt
│ ├── 053 Styling (1).mp4
│ ├── 074 Select.srt
│ ├── 041 Narrow Types (1).srt
│ ├── 068 Form Actions.mp4
│ ├── 028 Simple Function.mp4
│ ├── 033 JSX Components (1).mp4
│ ├── 008 Create React Elements.vtt
│ ├── 049 Satisfies (1).mp4
│ ├── 097 Key Reset (1).srt
│ ├── 086 Other Errors.mp4
│ ├── 072 Checkbox.srt
│ ├── 042 Derive Types.mp4
│ ├── 023 Nesting JSX (1).mp4
│ ├── 056 Size Prop.srt
│ ├── 085 Composition (1).srt
│ ├── 031 Raw API (1).vtt
│ ├── 032 JSX Components.srt
│ ├── 047 Reduce Duplication (1).srt
│ ├── 053 Styling (1).srt
│ ├── 065 Input Types (1).mp4
│ ├── 030 Raw API.vtt
│ ├── 035 Props (1).srt
│ ├── 071 Intro to Inputs.mp4
│ ├── 034 Props.vtt
│ ├── 054 Custom Component.srt
│ ├── 051 Intro to Styling.vtt
│ ├── 053 Styling (1).vtt
│ ├── 026 Dad Joke Break Using JSX.srt
├── 8 Bonus. Interviews With Experts
│ ├── 8. Michelle Beckles on Community Building and Developer Health .srt
│ ├── 1. Getting into Open Source with Aakansha Doshi .mp4
│ ├── 2. Enhancing Forms using React 19 with Aurora Scharff .mp4
│ ├── 11. Lydia Hallie on JavaScript, React, and the Future of Web Development .mp4
│ ├── 10. Sam Selikoff on React's Impact in Modern Web Development .vtt
│ ├── 9. Under the Hood of React 19 with Rick Hanlon .srt
│ ├── 5. Kateryna Porshnieva on Building Accessible Apps with React 19 .vtt
│ ├── 11. Lydia Hallie on JavaScript, React, and the Future of Web Development .vtt
│ ├── 1. Getting into Open Source with Aakansha Doshi .srt
│ ├── 14. Sunil Pai on Changing Lives with Powerful Software, PartyKit, and Durable Objects .vtt
│ ├── 13. The Importance of Accessibility in Modern Web Development With Shruti Kapoor .srt
│ ├── 12. Sebastian Silbermann on Testing, Tooling, and Transitions With React 19 .mp4
│ ├── Interviews With Experts.txt
│ ├── 14. Sunil Pai on Changing Lives with Powerful Software, PartyKit, and Durable Objects .srt
│ ├── 4. Evan Bacon brings React Server Components to React Native .vtt
│ ├── 15. Theo Browne on His Personal Experience as a Web Developer .srt
│ ├── 14. Sunil Pai on Changing Lives with Powerful Software, PartyKit, and Durable Objects .mp4
│ ├── 1. Getting into Open Source with Aakansha Doshi .vtt
│ ├── 9. Under the Hood of React 19 with Rick Hanlon .mp4
│ ├── 6. React's Evolution_ Past, Present, and Future with Lee Robinson .vtt
│ ├── 16. Dominik Dorfmeister on His Open-Source Journey .vtt
│ ├── 6. React's Evolution_ Past, Present, and Future with Lee Robinson .srt
│ ├── 3. Jenna Smith on AI, Building Radix, and Tokenami .vtt
│ ├── 3. Jenna Smith on AI, Building Radix, and Tokenami .mp4
│ ├── 10. Sam Selikoff on React's Impact in Modern Web Development .mp4
│ ├── 7. Matt Brophy on Remix, React Router, and Open-Source .srt
│ ├── 13. The Importance of Accessibility in Modern Web Development With Shruti Kapoor .vtt
│ ├── 7. Matt Brophy on Remix, React Router, and Open-Source .vtt
│ ├── 8. Michelle Beckles on Community Building and Developer Health .vtt
│ ├── 4. Evan Bacon brings React Server Components to React Native .srt
│ ├── 2. Enhancing Forms using React 19 with Aurora Scharff .srt
│ ├── 8. Michelle Beckles on Community Building and Developer Health .mp4
│ ├── 7. Matt Brophy on Remix, React Router, and Open-Source .mp4
│ ├── 12. Sebastian Silbermann on Testing, Tooling, and Transitions With React 19 .srt
│ ├── 9. Under the Hood of React 19 with Rick Hanlon .vtt
│ ├── 5. Kateryna Porshnieva on Building Accessible Apps with React 19 .mp4
│ ├── 10. Sam Selikoff on React's Impact in Modern Web Development .srt
│ ├── 11. Lydia Hallie on JavaScript, React, and the Future of Web Development .srt
│ ├── 16. Dominik Dorfmeister on His Open-Source Journey .srt
│ ├── 16. Dominik Dorfmeister on His Open-Source Journey .mp4
│ ├── 3. Jenna Smith on AI, Building Radix, and Tokenami .srt
│ ├── 13. The Importance of Accessibility in Modern Web Development With Shruti Kapoor .mp4
│ ├── 6. React's Evolution_ Past, Present, and Future with Lee Robinson .mp4
│ ├── 12. Sebastian Silbermann on Testing, Tooling, and Transitions With React 19 .vtt
│ ├── 2. Enhancing Forms using React 19 with Aurora Scharff .vtt
│ ├── 4. Evan Bacon brings React Server Components to React Native .mp4
│ ├── 15. Theo Browne on His Personal Experience as a Web Developer .mp4
│ ├── 5. Kateryna Porshnieva on Building Accessible Apps with React 19 .srt
│ ├── 15. Theo Browne on His Personal Experience as a Web Developer .vtt
├── 2 React Hooks
│ ├── 016 useEffect (1).vtt
│ ├── 030 Refs (1).mp4
│ ├── 045 Add Game History Feature.mp4
│ ├── 007 Derive State.mp4
│ ├── 037 useId.vtt
│ ├── 006 Controlling Inputs (1).mp4
│ ├── 011 Init Callback.srt
│ ├── 032 Dependencies (1).vtt
│ ├── 017 Effect Cleanup.srt
│ ├── 018 Effect Cleanup (1).vtt
│ ├── 002 Intro to Managing UI State.vtt
│ ├── 001 React Hooks Intro.srt
│ ├── 026 Colocate State (1).mp4
│ ├── 007 Derive State.vtt
│ ├── 041 setState callback.mp4
│ ├── 041 setState callback.vtt
│ ├── 046 Add Game History Feature (1).mp4
│ ├── 020 Intro to Lifting State.mp4
│ ├── 023 Lift More State.srt
│ ├── 032 Dependencies (1).srt
│ ├── 045 Add Game History Feature.srt
│ ├── 014 Intro to Side-Effects.mp4
│ ├── 022 Lift State (1).vtt
│ ├── 023 Lift More State.mp4
│ ├── 033 Primitive Dependencies.mp4
│ ├── 013 Dad Joke Break Managing UI State.srt
│ ├── 009 Initialize State.srt
│ ├── 036 Intro to Unique IDs.mp4
│ ├── 003 useState.vtt
│ ├── 027 Dad Joke Break Lifting State.mp4
│ ├── 035 Dad Joke Break DOM Side-Effects.srt
│ ├── 034 Primitive Dependencies (1).mp4
│ ├── 033 Primitive Dependencies.srt
│ ├── 029 Refs.vtt
│ ├── 039 Dad Joke Break Unique IDs.vtt
│ ├── 011 Init Callback.mp4
│ ├── 036 Intro to Unique IDs.vtt
│ ├── 023 Lift More State.vtt
│ ├── 010 Initialize State (1).srt
│ ├── 005 Controlling Inputs.srt
│ ├── 046 Add Game History Feature (1).srt
│ ├── 004 useState (1).mp4
│ ├── 037 useId.mp4
│ ├── 025 Colocate State.mp4
│ ├── 013 Dad Joke Break Managing UI State.mp4
│ ├── 018 Effect Cleanup (1).srt
│ ├── 001 React Hooks Intro.mp4
│ ├── 022 Lift State (1).srt
│ ├── 018 Effect Cleanup (1).mp4
│ ├── 031 Dependencies.vtt
│ ├── 009 Initialize State.vtt
│ ├── 008 Derive State (1).mp4
│ ├── 027 Dad Joke Break Lifting State.vtt
│ ├── 001 React Hooks Intro.vtt
│ ├── 016 useEffect (1).srt
│ ├── 021 Lift State.srt
│ ├── 039 Dad Joke Break Unique IDs.mp4
│ ├── 012 Init Callback (1).vtt
│ ├── 006 Controlling Inputs (1).vtt
│ ├── 019 Dad Joke Break Side-Effects.vtt
│ ├── 024 Lift More State (1).srt
│ ├── 002 Intro to Managing UI State.mp4
│ ├── 039 Dad Joke Break Unique IDs.srt
│ ├── 030 Refs (1).srt
│ ├── 025 Colocate State.srt
│ ├── 004 useState (1).srt
│ ├── 040 Intro to Tic Tac Toe.srt
│ ├── 047 Dad Joke Break Tic Tac Toe.vtt
│ ├── 032 Dependencies (1).mp4
│ ├── 005 Controlling Inputs.vtt
│ ├── 008 Derive State (1).srt
│ ├── 021 Lift State.mp4
│ ├── 038 useId (1).vtt
│ ├── 017 Effect Cleanup.vtt
│ ├── 011 Init Callback.vtt
│ ├── 012 Init Callback (1).srt
│ ├── 030 Refs (1).vtt
│ ├── 034 Primitive Dependencies (1).srt
│ ├── 042 setState callback (1).mp4
│ ├── 002 Intro to Managing UI State.srt
│ ├── 005 Controlling Inputs.mp4
│ ├── 026 Colocate State (1).srt
│ ├── 048 Outro to React Hooks.vtt
│ ├── 040 Intro to Tic Tac Toe.mp4
│ ├── 036 Intro to Unique IDs.srt
│ ├── 040 Intro to Tic Tac Toe.vtt
│ ├── 013 Dad Joke Break Managing UI State.vtt
│ ├── 038 useId (1).mp4
│ ├── 026 Colocate State (1).vtt
│ ├── 010 Initialize State (1).vtt
│ ├── 015 useEffect.mp4
│ ├── 016 useEffect (1).mp4
│ ├── 006 Controlling Inputs (1).srt
│ ├── 029 Refs.srt
│ ├── 031 Dependencies.srt
│ ├── 008 Derive State (1).vtt
│ ├── 035 Dad Joke Break DOM Side-Effects.vtt
│ ├── 014 Intro to Side-Effects.vtt
│ ├── 037 useId.srt
│ ├── 007 Derive State.srt
│ ├── 028 Intro to DOM Side-Effects.vtt
│ ├── 048 Outro to React Hooks.srt
│ ├── 044 Preserve State in localStorage (1).mp4
│ ├── 029 Refs.mp4
│ ├── 044 Preserve State in localStorage (1).srt
│ ├── 043 Preserve State in localStorage.srt
│ ├── 004 useState (1).vtt
│ ├── 022 Lift State (1).mp4
│ ├── 047 Dad Joke Break Tic Tac Toe.mp4
│ ├── 015 useEffect.srt
│ ├── 014 Intro to Side-Effects.srt
│ ├── 010 Initialize State (1).mp4
│ ├── 024 Lift More State (1).vtt
│ ├── 019 Dad Joke Break Side-Effects.srt
│ ├── 047 Dad Joke Break Tic Tac Toe.srt
│ ├── 028 Intro to DOM Side-Effects.srt
│ ├── 043 Preserve State in localStorage.vtt
│ ├── 003 useState.srt
│ ├── 028 Intro to DOM Side-Effects.mp4
│ ├── 044 Preserve State in localStorage (1).vtt
│ ├── 042 setState callback (1).srt
│ ├── 048 Outro to React Hooks.mp4
│ ├── 046 Add Game History Feature (1).vtt
│ ├── 019 Dad Joke Break Side-Effects.mp4
│ ├── 034 Primitive Dependencies (1).vtt
│ ├── 021 Lift State.vtt
│ ├── 025 Colocate State.vtt
│ ├── 012 Init Callback (1).mp4
│ ├── 041 setState callback.srt
│ ├── 031 Dependencies.mp4
│ ├── 020 Intro to Lifting State.srt
│ ├── 015 useEffect.vtt
│ ├── 042 setState callback (1).vtt
│ ├── 027 Dad Joke Break Lifting State.srt
│ ├── 009 Initialize State.mp4
│ ├── 045 Add Game History Feature.vtt
│ ├── 038 useId (1).srt
│ ├── 020 Intro to Lifting State.vtt
│ ├── 017 Effect Cleanup.mp4
│ ├── 024 Lift More State (1).mp4
│ ├── 035 Dad Joke Break DOM Side-Effects.mp4
│ ├── 043 Preserve State in localStorage.mp4
│ ├── 033 Primitive Dependencies.vtt
│ ├── 003 useState.mp4
├── 6 React Performance
│ ├── 44. Component Memoization _Solution.vtt
│ ├── 33. Dad Joke Break Code Splitting.vtt
│ ├── 2. Intro to Element Optimization.srt
│ ├── 3. Reusing Elements _Problem.vtt
│ ├── 41. Dad Joke Break Expensive Calculations.mp4
│ ├── 30. Eager Loading _Solution.mp4
│ ├── 22. Concurrent Rendering Intro.vtt
│ ├── 49. Dad Joke Break Optimize Rendering.vtt
│ ├── 41. Dad Joke Break Expensive Calculations.srt
│ ├── 5. Element Props _Problem.vtt
│ ├── 34. Intro to Expensive Calculations.srt
│ ├── 49. Dad Joke Break Optimize Rendering.srt
│ ├── 25. Dad Joke Break Concurrent Rendering.vtt
│ ├── 43. Component Memoization _ Problem.vtt
│ ├── 44. Component Memoization _Solution.srt
│ ├── 29. Eager Loading _Problem.srt
│ ├── 39. Async Results _Problem.srt
│ ├── 36. useMemo _Solution.srt
│ ├── 9. Memoize Elements _Problem.vtt
│ ├── 38. Web Worker _Solution.vtt
│ ├── 24. useDeferredValue + memo _Solution.vtt
│ ├── 12. Memoize Components _Solution.vtt
│ ├── 36. useMemo _Solution.vtt
│ ├── 52. Virtualizer _Solution.vtt
│ ├── 8. Context _Solution.vtt
│ ├── 15. Memoize Context _Problem.vtt
│ ├── 32. Transitions _ Solution.vtt
│ ├── 23. useDeferredValue + memo _Problem.srt
│ ├── 45. Custom Comparator _ Problem.srt
│ ├── 4. Reusing Elements _Solution.srt
│ ├── 15. Memoize Context _Problem.srt
│ ├── 12. Memoize Components _Solution.srt
│ ├── 48. Primitives _Solution.vtt
│ ├── 40. Async Results _Solution.vtt
│ ├── 47. Primitives _Problem.vtt
│ ├── 16. Memoize Context _Solution.vtt
│ ├── 19. Split Context _Problem.vtt
│ ├── 47. Primitives _Problem.srt
│ ├── 42. Intro to Optimize Rendering.vtt
│ ├── 18. Provider Component _Solution.vtt
│ ├── 11. Memoize Components _ Problem.srt
│ ├── 17. Provider Component _Problem.vtt
│ ├── React Performance.txt
│ ├── 53. Dad Joke Break Windowing.mp4
│ ├── 31. Transitions _Problem.mp4
│ ├── 15. Memoize Context _Problem.mp4
│ ├── 4. Reusing Elements _Solution.vtt
│ ├── 43. Component Memoization _ Problem.srt
│ ├── 53. Dad Joke Break Windowing.srt
│ ├── 34. Intro to Expensive Calculations.vtt
│ ├── 21. Dad Joke Break Optimize Context.srt
│ ├── 25. Dad Joke Break Concurrent Rendering.srt
│ ├── 20. Split Context _Solution.vtt
│ ├── 54. Outro to React Performance.vtt
│ ├── 52. Virtualizer _Solution.srt
│ ├── 17. Provider Component _Problem.mp4
│ ├── 31. Transitions _Problem.vtt
│ ├── 31. Transitions _Problem.srt
│ ├── 7. Context _ Problem.vtt
│ ├── 27. lazy _ Problem.srt
│ ├── 28. lazy _Solution.vtt
│ ├── 8. Context _Solution.srt
│ ├── 48. Primitives _Solution.srt
│ ├── 24. useDeferredValue + memo _Solution.srt
│ ├── 50. Intro to Windowing.srt
│ ├── 14. Intro to Optimize Context.vtt
│ ├── 6. Element Props _ Solution.vtt
│ ├── 40. Async Results _Solution.srt
│ ├── 10. Memoize Elements _Solution.vtt
│ ├── 10. Memoize Elements _Solution.srt
│ ├── 13. Dad Joke Break Element Optimization.srt
│ ├── 33. Dad Joke Break Code Splitting.mp4
│ ├── 16. Memoize Context _Solution.srt
│ ├── 20. Split Context _Solution.srt
│ ├── 1. React Performance Intro.vtt
│ ├── 32. Transitions _ Solution.srt
│ ├── 5. Element Props _Problem.mp4
│ ├── 51. Virtualizer _Problem.vtt
│ ├── 7. Context _ Problem.srt
│ ├── 46. Custom Comparator _Solution.srt
│ ├── 17. Provider Component _Problem.srt
│ ├── 26. Intro to Code Splitting.srt
│ ├── 37. Web Worker _Problem.vtt
│ ├── 49. Dad Joke Break Optimize Rendering.mp4
│ ├── 54. Outro to React Performance.srt
│ ├── 27. lazy _ Problem.vtt
│ ├── 30. Eager Loading _Solution.vtt
│ ├── 50. Intro to Windowing.vtt
│ ├── 19. Split Context _Problem.srt
│ ├── 35. useMemo _Problem.vtt
│ ├── 6. Element Props _ Solution.srt
│ ├── 35. useMemo _Problem.srt
│ ├── 45. Custom Comparator _ Problem.vtt
│ ├── 33. Dad Joke Break Code Splitting.srt
│ ├── 26. Intro to Code Splitting.vtt
│ ├── 2. Intro to Element Optimization.vtt
│ ├── 21. Dad Joke Break Optimize Context.vtt
│ ├── 11. Memoize Components _ Problem.vtt
│ ├── 18. Provider Component _Solution.srt
│ ├── 5. Element Props _Problem.srt
│ ├── 13. Dad Joke Break Element Optimization.mp4
│ ├── 46. Custom Comparator _Solution.vtt
│ ├── 23. useDeferredValue + memo _Problem.vtt
│ ├── 13. Dad Joke Break Element Optimization.vtt
│ ├── 9. Memoize Elements _Problem.srt
│ ├── 39. Async Results _Problem.vtt
│ ├── 38. Web Worker _Solution.srt
│ ├── 16. Memoize Context _Solution.mp4
│ ├── 25. Dad Joke Break Concurrent Rendering.mp4
│ ├── 37. Web Worker _Problem.srt
│ ├── 53. Dad Joke Break Windowing.vtt
│ ├── 11. Memoize Components _ Problem.mp4
│ ├── 1. React Performance Intro.srt
│ ├── 3. Reusing Elements _Problem.srt
│ ├── 4. Reusing Elements _Solution.mp4
│ ├── 14. Intro to Optimize Context.srt
│ ├── 42. Intro to Optimize Rendering.srt
│ ├── 29. Eager Loading _Problem.vtt
│ ├── 28. lazy _Solution.srt
│ ├── 21. Dad Joke Break Optimize Context.mp4
│ ├── 22. Concurrent Rendering Intro.srt
│ ├── 41. Dad Joke Break Expensive Calculations.vtt
│ ├── 30. Eager Loading _Solution.srt
│ ├── 51. Virtualizer _Problem.srt
│ ├── 43. Component Memoization _ Problem.mp4
│ ├── 24. useDeferredValue + memo _Solution.mp4
│ ├── 36. useMemo _Solution.mp4
│ ├── 20. Split Context _Solution.mp4
│ ├── 7. Context _ Problem.mp4
│ ├── 14. Intro to Optimize Context.mp4
│ ├── 32. Transitions _ Solution.mp4
│ ├── 39. Async Results _Problem.mp4
│ ├── 37. Web Worker _Problem.mp4
│ ├── 54. Outro to React Performance.mp4
│ ├── 2. Intro to Element Optimization.mp4
│ ├── 28. lazy _Solution.mp4
│ ├── 46. Custom Comparator _Solution.mp4
│ ├── 48. Primitives _Solution.mp4
│ ├── 12. Memoize Components _Solution.mp4
│ ├── 40. Async Results _Solution.mp4
│ ├── 1. React Performance Intro.mp4
│ ├── 52. Virtualizer _Solution.mp4
│ ├── 18. Provider Component _Solution.mp4
│ ├── 35. useMemo _Problem.mp4
│ ├── 47. Primitives _Problem.mp4
│ ├── 45. Custom Comparator _ Problem.mp4
│ ├── 50. Intro to Windowing.mp4
│ ├── 9. Memoize Elements _Problem.mp4
│ ├── 8. Context _Solution.mp4
│ ├── 51. Virtualizer _Problem.mp4
│ ├── 42. Intro to Optimize Rendering.mp4
│ ├── 10. Memoize Elements _Solution.mp4
│ ├── 26. Intro to Code Splitting.mp4
│ ├── 6. Element Props _ Solution.mp4
│ ├── 23. useDeferredValue + memo _Problem.mp4
│ ├── 29. Eager Loading _Problem.mp4
│ ├── 19. Split Context _Problem.mp4
│ ├── 27. lazy _ Problem.mp4
│ ├── 38. Web Worker _Solution.mp4
│ ├── 3. Reusing Elements _Problem.mp4
│ ├── 22. Concurrent Rendering Intro.mp4
│ ├── 34. Intro to Expensive Calculations.mp4
│ ├── 44. Component Memoization _Solution.mp4
猜你喜欢
-
快速掌握前端必会的 7 种设计模式
2023-01-08 -
Vue3+TS打造SSR网站应用,0到1实现服务端渲染
2023-01-06 -
Springboot3+Vue3实现副业(创业)智能语音项目开发
2024-10-06 -
基于Vue3最新标准,实现后台前端综合解决方案|完结无秘
2023-01-01 -
四大维度解锁Webpack3.0前端工程化
2022-11-17 -
饥人谷-Webpack源码
2024-04-16 -
基于uni-app实战开发《电商商城》项目
2025-01-09 -
前端性能优化,掌握行业实用、专业、前沿的解决方案
2022-12-12 -
移动Web App开发之实战美团外卖
2022-11-24 -
uni-app 快速入门 从零开始实现新闻资讯类跨端应用
2022-12-08
-
吃透前端工程化,大厂级实战项目以战带练
2023-01-01 -
基于 Flutter 3.x 仿抖音跨平台混合开发
2023-01-02 -
Java Web自动化测试 Selenium基础到企业实际应用
2022-11-29 -
基于 Vue3 ,打造前台+中台通用开发提效解决方案
2023-01-02 -
螺钉Nodejs全栈项目班,Node基础到实战,价值1999
2024-07-09 -
HTTP协议原理+实践 ,Web开发工程师必学
2022-11-20 -
Laravel和Angular JS 开发全栈知乎
2022-11-11 -
前端模拟面试:给你真实的求职体验和面试经验
2023-01-02 -
Node.js-Koa2框架生态实战-从零模拟新浪微博
2022-11-30 -
跨平台混编框架MUI仿豆瓣电影APP
2022-11-17
猜你在找
常见问题FAQ
- 视频加密吗?
- 无密,本站视频全部为超清无密MP4格式
- 怎么发货?
- 课程没更新完怎么办?
- 有问题怎么解决?