react新出的哪两个钩子函数?
新出的getDerivedStateFromProps 与 getSnapshotBeforeUpdate 两个钩子。
少了componentWillMount,componentWillReceiveProps与componentWillUpdate三个都带有will的钩子。
1、getDerivedStateFromProps
这个钩子的作用其实就是从props获取衍生的state。getDerivedStateFromProps中返回一个对象用于更新当前组件的state,而不是直接取代。
2、getSnapshotBeforeUpdate
这个钩子的意思其实就是再组件更新前获取快照,此方法一般是结合componentDidUpdate使用,getSnapshotBeforeUpdate中返回的值将作为第三参数传递给componentDidUpdate。
为什么删掉will?
三个钩子函数是被废弃,但是不是直接不能用了,而是官方会给出警告并推荐我们在这三个钩子前添加UNSAFE_前缀。
为什么被废弃呢,因为使用率并不太高,这三个钩子很容易被误解和滥用,这几个钩子不稳定。