答题
(可以先回顾一下本章学习的所有知识点)
- 为什么要使用 React Hooks?解决了什么问题
- React Hooks 如何模拟组件生命周期
- 如何自定义 Hook
- React Hooks 性能优化
- React Hooks 有哪些坑?
为何要使用 Hooks
- 组件公共逻辑复用,Hooks 更好
- 完善函数组件的能力(class 写组件是一个很费解的事情,以及 class 里的 this 也是初学者捉摸不透)
- class 复杂组件正在变的难以理解
class 组件变的复杂是,相同的逻辑,分散到各个地方:
- DidMount 和 DidUpdate 中获取数据
- DidMount 绑定事件, WillUnMount 解绑
- 使用 Hooks ,可以把相同逻辑放在一个 useEffect 中 (这样就按照逻辑拆分出一个一个的小模块,甚至是一个一个自定义的 Hook)
React Hooks 如何模拟组件生命周期
主要的几个生命周期
- ComponentDidMount - useEffect 依赖是 []
- ComponentDidUpdate - useEffect 依赖是 [a, b]
- ComponentDid - useEffect 返回一个函数
如何自定义 Hook
参考之前 ppt
React Hooks 性能优化
- useMemo 缓存数据
- useCallback 缓存函数
- 配合 memo(相当于 SCU 和 PureComponent)
React Hooks 有哪些坑
看你是否在实战中用过 Hooks ,还是仅仅看了一些文档
- useState 的值,只有第一次有效
- useEffect 内部不能修改 state
- useEffect 死循环
【注意】坑可能还有其他的很多,但你说出这三个,至少证明你只真正用过 Hooks 的,面试官也不会过于为难你

讨论区
欢迎留下想法与补充