版本修订记录
1.
前言
2.
使用 Create React App 创建 React 应用
❱
2.1.
使用 react-app-rewired 修改配置
2.2.
使用 customize-cra 进行辅助配置
2.3.
使用 CRACO 进行辅助配置
3.
使用 Vite 创建 React 应用
❱
3.1.
常用命令
3.2.
自动导入内容的配置
3.3.
配置
❱
3.3.1.
共享配置
3.3.2.
开发服务器配置
3.3.3.
构建配置
3.4.
React 构建插件
3.5.
构建配置示例
4.
最简单的 React 示例
5.
关于 JSX
6.
关于 ECMAScript 6 中的 Class
❱
6.1.
类中的 this
7.
使用 Typescript 编写应用
❱
7.1.
类型系统
7.2.
接口
7.3.
配置与编译
7.4.
声明文件
8.
组件
❱
8.1.
函数组件代码的组织
8.2.
定义 props
8.3.
什么是 Hook
8.4.
定义 State
8.5.
Effect
8.6.
条件渲染
8.7.
重新渲染
8.8.
创建和使用 Context
8.9.
Memoized 值的定义和使用
8.10.
事件处理
8.11.
受控组件与非受控组件
8.12.
Fragment
8.13.
Portal
8.14.
自定义 Hook
8.15.
Ref 的妙用
8.16.
组件间通讯
8.17.
惰性加载
8.18.
Render Props
8.19.
异步操作 🧪
8.20.
严格模式
8.21.
高阶组件
8.22.
小心闭包陷阱
8.23.
常用 Hook
❱
8.23.1.
useReducer
8.23.2.
useDebugValue
8.23.3.
useDeferredValue
8.23.4.
useSyncExternalStore
8.24.
React 中使用的类型
9.
使用 PropTypes 进行类型检查
❱
9.1.
验证器
9.2.
默认值
10.
Flow
❱
10.1.
启用 Flow
10.2.
类型标记
10.3.
类型别名
10.4.
在 React 中的应用
11.
样式
❱
11.1.
使用 Sass
11.2.
使用 Less
11.3.
拼合样式类名
12.
Styled Components
❱
12.1.
基本使用方法
12.2.
样式扩展
12.3.
修改 props
12.4.
动画定义
12.5.
主题支持
12.6.
stylis 增强的 CSS 语法
13.
Emotion
❱
13.1.
不同使用方法的优势
13.2.
JSX 编译标注
13.3.
使用对象定义的样式
13.4.
定义关键帧动画
13.5.
使用主题
13.6.
样式类名后缀
13.7.
嵌套选择器
13.8.
媒体查询
13.9.
全局样式
13.10.
组合使用 Tailwind CSS 框架
14.
React Router v5
❱
14.1.
React Router DOM
❱
14.1.1.
Router
14.1.2.
Route
14.1.3.
Switch
14.1.4.
Redirect
14.1.5.
Link
14.1.6.
NavLink
14.2.
History
14.3.
withRouter
14.4.
使用 Hook 代替 withRouter
14.5.
路由守卫
14.6.
HTTP 服务对 SPA 导航的处理
14.7.
在 Typescript 中的类型定义
15.
React Router v6
❱
15.1.
安装与最小应用
15.2.
常用组件
❱
15.2.1.
BrowserRouter
15.2.2.
HashRouter
15.2.3.
MemoryRouter
15.2.4.
RouterProvider
15.2.5.
Routes 和 Route
15.2.6.
Outlet
15.2.7.
Link
15.2.8.
NavLink
15.2.9.
Navigate
15.2.10.
Form
15.2.11.
Await
15.3.
可用的 Hook
❱
15.3.1.
useHref
15.3.2.
useLinkClickHandler
15.3.3.
useInRouterContext
15.3.4.
useLocation
15.3.5.
useNavigationType
15.3.6.
useMatch
15.3.7.
useNavigate
15.3.8.
useNavigation
15.3.9.
useParams
15.3.10.
useResolvedPath
15.3.11.
useRoutes
15.3.12.
useSearchParams
15.3.13.
useFetcher
15.3.14.
useRouteLoaderData
15.3.15.
useRevalidator
15.3.16.
useRouteError
15.4.
模拟路由守卫功能
16.
Flux
❱
16.1.
核心概念
16.2.
Action
16.3.
Dispatcher
16.4.
Store
16.5.
Container
16.6.
使用 Hook 简化 Flux
17.
Redux
❱
17.1.
与 Flux 有何不同
17.2.
Action
17.3.
Reducer
17.4.
Store
17.5.
与 React 整合
17.6.
与 React-Router 整合
17.7.
异步数据流
17.8.
Redux-Saga
❱
17.8.1.
Effects
17.8.2.
Channels
17.8.3.
自定义 Buffer
17.8.4.
常用辅助函数
17.8.5.
使用在 Typescript 中的类型定义
17.8.6.
一些需要注意的关键点
18.
Redux Tookit 与 Hooks
❱
18.1.
Toolkit 提供的新 API
18.2.
构建 Store
18.3.
快速创建 Action
18.4.
创建 Reducer
18.5.
定义 State 片段
❱
18.5.1.
在 State 片段中使用异步函数
18.6.
在组件中利用 Hook 控制 Store
❱
18.6.1.
useSelector
18.6.2.
useDispatch
18.7.
使用独立的局部 Store
19.
MobX
❱
19.1.
Observable
19.2.
Actions
19.3.
Computed
19.4.
Reactions
19.5.
与 React 集成
19.6.
定义数据存储
19.7.
mobx-state-tree
20.
Zustand
❱
20.1.
创建和使用 Store
20.2.
自定义选择器
20.3.
操作 State
20.4.
在 React 之外使用
20.5.
其他常用中间件
❱
20.5.1.
持久化中间件
20.5.2.
Immer 中间件
20.5.3.
Redux 中间件
20.6.
类型声明
21.
SWR
❱
21.1.
基本使用
21.2.
组件复用
21.3.
配置
21.4.
数据获取
21.5.
key 参数的选择
21.6.
无限加载
21.7.
重新验证
22.
React Query
❱
22.1.
基本概念和组件
22.2.
基本使用
22.3.
Devtools 配置
22.4.
构建查询
22.5.
数据更新
22.6.
数据缓存控制
23.
RxJS
❱
23.1.
基本概念
23.2.
Observable
23.3.
Subject
23.4.
Operator
24.
Immer
❱
24.1.
初始化功能
24.2.
核心函数
24.3.
柯里化
24.4.
在 React 应用中使用 Immer
24.5.
在 producer 中返回新数据
24.6.
类型定义
Light (default)
Rust
Coal
Navy
Ayu
Live with React
useInRouterContext
useInRouterContext
是一个非常简单的Hook,它只会返回一个布尔型值,用来表示当前组件是否处于
Router
组件环境里。