核心知识点
高阶组件(HOC)
高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧。HOC 自身不是 React API 的一部分,它是一种基于 React 的组合特性而形成的设计模式。
简而言之,高阶组件是一个以组件为参数,并且返回值是一个新组件的函数。
Hooks
React 有类组件和函数组件两种写法。在没有 Hooks 以前,需要 State 的组件只能通过类组件实现。Hooks 出现就是让函数组件具有 State 和其他 React 特性的能力。
受控组件和非受控组件
受控组件:在 HTML 中,表单元素(如 input、 textarea 和 select )通常自己维护 state,并根据用户输入进行更新。而在 React 中,可变状态(mutable state)通常保存在 组件的 state 属性中,并且只能通过使用 setState() 或者 props 来更新
非受控组件:是一个存储其自己的内部状态,并且您使用查询 DOM ref,当你需要它来找到它的当前值,这有点像传统的 HTML
合成事件
合成事件(SyntheticEvent)是 React 模拟原生 DOM 事件所有能力的一个事件对象,即浏览器原生 事件的跨浏览器包装器。React 根据 W3C 规范 定义了合成事件。
React Fiber
Fiber 是 React 16 中采用的新协调(reconciliation)引擎,主要目标是支持虚拟 DOM 的渐进式渲染。
Fiber 将原有的 Stack Reconciler 替换为 Fiber Reconciler,提高了复杂应用的可响应性和性能。主要通过以下方式达成目标:
- 对大型复杂任务的分片;
- 对任务划分优先级,优先调度高优先级的任务;
- 调度过程中,可以对任务进行挂起、恢复、终止等操作。