react中怎么实现vue中的计算属性以及watch
推荐
在线提问>>
react中怎么实现vue中的计算属性以及watch
首先,react中可以利用static getDeriveStateFromProps这个生命周期钩子函数来根据当前的属性及状态来派生一个新状态,并且在初始化阶段,和更新阶段都会执行,保证状态始终存在对应。
但是需要注意是否需要做缓存,因为任何数据变化都会引起该钩子函数的执行,会导致派生的计算每次都会进行。
在函数组件+Hooks的时候,可以利用useMemo来生成一个计算属性。
在类组件中可以在componentDidUpdate中根据this上最新的属性和状态与参数中接收到的之前的属性和状态来判断是哪一个数据更新,实现watch的能力,在函数组件 + hooks中使用useEffect就可以了。