1. 版本修订记录
  2. 前言
  3. 使用 Create React App 创建 React 应用
    1. 使用 react-app-rewired 修改配置
    2. 使用 customize-cra 进行辅助配置
    3. 使用 CRACO 进行辅助配置
  4. 使用 Vite 创建 React 应用
    1. 常用命令
    2. 自动导入内容的配置
    3. 配置
      1. 共享配置
      2. 开发服务器配置
      3. 构建配置
    4. React 构建插件
    5. 构建配置示例
  5. 最简单的 React 示例
  6. 关于 JSX
  7. 关于 ECMAScript 6 中的 Class
    1. 类中的 this
  8. 使用 Typescript 编写应用
    1. 类型系统
    2. 接口
    3. 配置与编译
    4. 声明文件
  9. 组件
    1. 函数组件代码的组织
    2. 定义 props
    3. 什么是 Hook
    4. 定义 State
    5. Effect
    6. 条件渲染
    7. 重新渲染
    8. 稳定引用
    9. 创建和使用 Context
    10. Memoized 值的定义和使用
    11. 事件处理
    12. 受控组件与非受控组件
    13. Fragment
    14. Portal
    15. 自定义 Hook
    16. Ref 的妙用
    17. 组件间通讯
    18. 惰性加载
    19. Render Props
    20. 异步操作
    21. 增强的表单操作
    22. 严格模式
    23. 高阶组件
    24. 小心闭包陷阱
    25. 常用 Hook
      1. useReducer
      2. useDebugValue
      3. useDeferredValue
      4. useSyncExternalStore
      5. useOptimistic
    26. React 中使用的类型
  10. 服务端渲染
    1. 项目组织形式
    2. 项目构建
    3. 服务端标记
  11. 使用 PropTypes 进行类型检查 ⚠️
    1. 验证器
    2. 默认值
  12. Flow
    1. 启用 Flow
    2. 类型标记
    3. 类型别名
    4. 在 React 中的应用
  13. 样式
    1. 使用 Sass
    2. 使用 Less
    3. 拼合样式类名
  14. Styled Components
    1. 基本使用方法
    2. 样式扩展
    3. 修改 props
    4. 动画定义
    5. 主题支持
    6. stylis 增强的 CSS 语法
  15. Emotion
    1. 不同使用方法的优势
    2. JSX 编译标注
    3. 使用对象定义的样式
    4. 定义关键帧动画
    5. 使用主题
    6. 样式类名后缀
    7. 嵌套选择器
    8. 媒体查询
    9. 全局样式
    10. 组合使用 Tailwind CSS 框架
  16. React Router v5
    1. React Router DOM
      1. Router
      2. Route
      3. Switch
      4. Redirect
      5. Link
      6. NavLink
    2. History
    3. withRouter
    4. 使用 Hook 代替 withRouter
    5. 路由守卫
    6. HTTP 服务对 SPA 导航的处理
    7. 在 Typescript 中的类型定义
  17. React Router v6
    1. 安装与最小应用
    2. 常用组件
      1. BrowserRouter
      2. HashRouter
      3. MemoryRouter
      4. RouterProvider
      5. Routes 和 Route
      6. Outlet
      7. Link
      8. NavLink
      9. Navigate
      10. Form
      11. Await
    3. 可用的 Hook
      1. useHref
      2. useLinkClickHandler
      3. useInRouterContext
      4. useLocation
      5. useNavigationType
      6. useMatch
      7. useNavigate
      8. useNavigation
      9. useParams
      10. useResolvedPath
      11. useRoutes
      12. useSearchParams
      13. useFetcher
      14. useRouteLoaderData
      15. useRevalidator
      16. useRouteError
    4. 模拟路由守卫功能
  18. Flux
    1. 核心概念
    2. Action
    3. Dispatcher
    4. Store
    5. Container
    6. 使用 Hook 简化 Flux
  19. Redux
    1. 与 Flux 有何不同
    2. Action
    3. Reducer
    4. Store
    5. 与 React 整合
    6. 与 React-Router 整合
    7. 异步数据流
    8. Redux-Saga
      1. Effects
      2. Channels
      3. 自定义 Buffer
      4. 常用辅助函数
      5. 使用在 Typescript 中的类型定义
      6. 一些需要注意的关键点
  20. Redux Tookit 与 Hooks
    1. Toolkit 提供的新 API
    2. 构建 Store
    3. 快速创建 Action
    4. 创建 Reducer
    5. 定义 State 片段
      1. 在 State 片段中使用异步函数
    6. 在组件中利用 Hook 控制 Store
      1. useSelector
      2. useDispatch
    7. 使用独立的局部 Store
  21. MobX
    1. Observable
    2. Actions
    3. Computed
    4. Reactions
    5. 与 React 集成
    6. 定义数据存储
    7. mobx-state-tree
  22. Zustand
    1. 创建和使用 Store
    2. 自定义选择器
    3. 操作 State
    4. 在 React 之外使用
    5. 其他常用中间件
      1. 持久化中间件
      2. Immer 中间件
      3. Redux 中间件
    6. 类型声明
  23. Jotai (Coming Soon!)
  24. SWR
    1. 基本使用
    2. 组件复用
    3. 配置
    4. 数据获取
    5. key 参数的选择
    6. 无限加载
    7. 重新验证
  25. React Query
    1. 基本概念和组件
    2. 基本使用
    3. Devtools 配置
    4. 构建查询
    5. 数据更新
    6. 数据缓存控制
  26. RxJS
    1. 基本概念
    2. Observable
    3. Subject
    4. Operator
  27. Immer
    1. 初始化功能
    2. 核心函数
    3. 柯里化
    4. 在 React 应用中使用 Immer
    5. 在 producer 中返回新数据
    6. 类型定义