Skip to content

知识记录

Flux 架构:单向数据流

alt text

衍生项目:Redux、Mobx

React 组件

props + state -> view

外部传的属性加内部维护的状态决定 view

单向数据绑定

创建组件遵循的原则:

1、何时创建 -> 单一职责原则:每个组件只做一件事;如果组件变得复杂,应该拆分成小组件;

2、数据状态管理 -> DRY 原则:能计算得到的状态不要单独存储;组件尽量无状态,所需数据通过 props 获取;

JSX

在 JavaScript 代码中直接写 HTML 标记

本质:动态创建组件的语法糖

alt text

alt text

优点: alt text

约定:自定义组件以大写字母开头 alt text

生命周期

alt text

constructor

alt text

getDerivedStateFromProps

alt text

componentDidMount

alt text

componentWillUnmount1

alt text

getSnapshotBeforeUpdate

alt text

componentDidUpdate

alt text

shouldComponentUpdate

alt text

Virtual DOM 及 key 属性

虚拟 DOM 的两个假设: alt text

组件设计模式

组件复用的另外两种形式:高阶组件和函数作为子组件 alt text

新的 Context API 及使用场景

16.3 新特性

alt text

使用脚手架工具创建 React 应用

alt text 脚手架工具:预先定义好一个项目需要什么依赖

Creat React App

最简策略 alt text

Codesandbox

线上环境 alt text

Rekit

整合了更多最佳实践 alt text

打包和部署

alt text

webpack

alt text

Redux

状态管理框架

Redux 让组件通信更加容易

特性:

  • single source of truth alt text

  • 可预测性 alt text

  • 纯函数更新 store alt text

store、action、reducer

alt textalt textalt text

alt textalt textalt textalt text

react 中使用 redux

alt textalt text

单元测试

alt text

调试工具

ESLint

1、使用.eslintrc 进行规则的配置

2、使用 airbnb 的 JavaScript 代码风格

Prettier

1、代码格式化的神器

2、保证更容易写出风格一致的代码

.prettierrc 文件里面

React DevTool

可以帮助观察 react 结构

Redux DevTool

alt text