前言
章 ES6基础
1.1 let及const
1.1.1 let命令
1.1.2 const命令
1.1.3 临时死区
1.1.4 循环中的let及const
1.2 解构赋值
1.2.1 数组的解构
1.2.2 对象的解构
1.2.3 解构的默认值及参数的解构
1.3 字符串扩展
1.3.1 Unicode支持
1.3.2 新增字符串方法
1.3.3 模板字符串
1.4 Symbol
1.5 函数
1.5.1 函数形参的默认值
1.5.2 函数形参不定参数
1.5.3 箭头函数
1.6 类class
1.6.1 类的基本语法
1.6.2 静态成员
1.6.3 类的继承
1.7 异步编程
1.7.1 ES5中的异步
1.7.2 Promise基本语法
1.7.3 Promise处理异步问题
1.7.4 Promise里的其他方法
1.8 模块化
1.8.1 导入导出基本使用
1.8.2 导入导出变式写法
1.8.3 按需导入
1.9 Set和Map集合
1.9.1 Set集合
1.9.2 Map集合
1.10 小结
第2章 React详解
2.1 为什么使用 React
2.1.1 专注于视图层
2.1.2 组件化开发和声明式编程
2.1.3 Virtual DOM
2.2 ReactDOM
2.2.1 React 引入方式
2.2.2 ReactDOM
2.3 React 视图渲染
2.3.1 ReactElement
2.3.2 JSX
2.4 create-react-app
2.4.1 安装 create-react-app
2.4.2 项目构建和启动
2.4.3 项目入口文件
2.4.4 React.StrictMode
2.5 定义 React 组件
2.6 组件间通信
2.6.1 props 使用
2.6.2 state 使用
2.6.3 组件间的通信
2.6.4 跨组件通信
2.7 组件的生命周期
2.7.1 挂载阶段的生命周期函数
2.7.2 更新阶段的生命周期函数
2.7.3 卸载阶段的生命周期函数
2.8 ref
2.8.1 string ref
2.8.2 createRef
2.9 key
2.10 添加事件
2.11 表单
2.12 其他特性
2.12.1 children
2.12.2 dangerouslySetInnerHTML
2.12.3 函数式组件
2.13 React Hooks
2.13.1 常用Hooks
2.13.2 Hooks 使用规则
2.13.3 自定义 Hook
2.14 小结
第3章 基于 Redux 状态管理
3.1 Redux 使用
3.1.1 action、createStore 和 reducer 函数
3.1.2 store
3.2 React-Redux
3.2.1 安装与配置
3.2.2 connect
3.2.3 Hooks
3.3 基于Redux 的Todos实现
3.3.1 建立视图
3.3.2 建立数据模型以完善reducer
3.3.3 数据关联视图完善功能
3.4 reducer 拆分与合并
3.5 rudux-thunk 中间件
3.6 小结
第4章 React-Router
4.1 什么是 React-Router
4.2 React-Router 安装与配置
4.3 Route 组件
4.3.1 Path匹配
4.3.2 路由渲染
4.4 路由信息
4.5 withRouter和Router Hooks
4.5.1 withRouter
4.5.2 Router Hooks
4.6 链接组件
4.6.1 Link 组件
4.6.2 NavLink 组件
4.74 04视图
4.8 重定向
4.9 Router 实战
4.10 小结
第5章 商城项目实战
5.1 模板搭建
5.1.1 BasicLayout
5.1.2 SecurityLayout
5.2 导航组件
5.3 登录跳转
5.3.1 登录页面与逻辑实现
5.3.2 用户中心信息展示
5.4 免登录页面
5.4.1 首页页面
5.4.2 商品列表
5.4.3 商品详情
5.5 路由守卫页
5.5.1 购物车
5.5.2 确认订单
5.5.3 支付
5.5.4 订单列表
5.6 小结
第6章 React原理解析
6.1 React源码中的常用变量和数据结构
6.1.1 WorkTag
6.1.2 SideEffectTag
6.1.3 ExecutionContext
6.1.4 PriorityLevel
6.1.5 RootTag
6.1.6 RootExitStatus
6.1.7 currentEventTime
6.2 初次渲染与更新
6.2.1 ReactDOM.render
6.2.2 setState
6.2.3 forceUpdate
6.2.4 render、setState、forceUpdate对比
6.2.5 enqueueUpdate
6.2.6 scheduleUpdateOnFiber
6.2.7 时间计算
6.3 任务调度
6.3.1 performSyncWorkOnRoot
6.3.2 renderRootSync
6.3.3 workLoopSync
6.3.4 performUnitOfWork
6.3.5 beginWork
6.3.6 更新阶段
6.3.7 协调
6.3.8 commit
6.4 Hook原理
6.4.1 Hook基本数据结构
6.4.2 全局变量
6.4.3 标识路径
6.4.4 更新函数
6.5 Hook API解析
6.5.1 useReducer
6.5.2 useState
6.5.3 useContext
6.5.4 useRef
6.5.5 useEffect
6.5.6 useLayoutEffect
6.5.7 useMemo
6.5.8 useCallback
6.6 重点解析
6.6.1 Context
6.6.2 Refs
6.6.3 事件系统
6.6.4 setState