跳到主要内容

核心知识点

高阶组件(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,提高了复杂应用的可响应性和性能。主要通过以下方式达成目标:

  • 对大型复杂任务的分片;
  • 对任务划分优先级,优先调度高优先级的任务;
  • 调度过程中,可以对任务进行挂起、恢复、终止等操作。