1、为什么会有React Hooks,它解决了哪些问题?
- 完善函数组件的能力,函数组件更适合 react 组件
- 组件逻辑复用,hooks表现更好
- class复杂组件变的难以理解,逻辑混乱,不易拆解和测试
例如:同样的逻辑,散落在 DidMount 和 DidUpdate 中,DidMount 和 WillUnMount 中,使用 hooks,同样的逻辑可以分割到一个一个的 useEffect 中
2、React Hooks 如何模拟组件的生命周期?
- 模拟 componentDidMount 和 componentDidUpdate,useEffect 依赖不写
- 模拟 componentDidMount,useEffect 依赖 []
- 模拟 componentDidUpdate,useEffect 无依赖,或者依赖 [a, b]
- 模拟 componentWillUnMount,useEffect 返回一个函数
3、如何自定义 Hook?
4、React Hooks 性能优化?
- useMomo 缓存数据,useCallback 缓存函数
- 相当于 class 组件的 SCU 和 PureComponent
5、使用 React Hooks 遇到过哪些坑?
- useState 初始化只初始化一次
- useEffect 内部不能修改 state
- useEffect 依赖引用类型会出现死循环
6、Hooks 相比 HOC 和 Render Props 有哪些优点?
- 没有额外需要理解的规则
- 变量作用域明确
- 不会产生组件嵌套
参考
可以对着这个文章来看 https://blog.csdn.net/weixin_43972437/article/details/105326274