一、生命周期函数如何映射到hooks ?
函数组件还没办法完全取代类组件,componentDidCatch和 componentDidCatch和getSnapshotBeforeUpdate函数还不能被代替
- React16新的生命周期弃用了componentWillMount、componentWillReceivePorps,componentWillUpdate
- 新增了getDerivedStateFromProps、getSnapshotBeforeUpdate来代替弃用的三个钩子函数(componentWillMount、componentWillReceivePorps,componentWillUpdate)
- React16并没有删除这三个钩子函数,但是不能和新增的钩子函数(getDerivedStateFromProps、getSnapshotBeforeUpdate)混用,React17将会删除componentWillMount、componentWillReceivePorps,componentWillUpdate
- 新增了对错误的处理(componentDidCatch)
二、类实例成员变量如何映射到hooks?
三、Hooks中如何获取历史props和state?
- 定义一个ref来保存上一次的count值
- 副作用同步count到ref中,页面ref不受重新渲染的影响
- 可以在下一次渲染周期中取出上一次渲染内容
四、如何强制更新一个Hooks组件?
- 创建一个不参与实际渲染的state
- 更新值,以此来出发强制渲染