我已经做了一段时间的反应并熟悉一些生命周期方法,但对其他方法并不熟悉
e.g。 didMount
显然是针对ajax请求或从api调用数据然后将其加载到应用程序
我想我已经征服了shouldComponentUpdate
,并且已经意识到它纯粹是为了表现
但static getDerivedStateFromProps
我真的无法理解。这是为了表现还是为应用添加其他内容?
以及componentDidUpdate
,这是再次表现还是在哪里我可以使用这些?
显然,执行操作和实际请求需要一些方法。显然有一些是为了提高性能等。只是希望得到didUpdate
和getDerived
感谢
答案 0 :(得分:0)
通过这个博客,你可以理解生命周期的钩子:https://medium.com/@baphemot/understanding-reactjs-component-life-cycle-823a640b3e8d
答案 1 :(得分:0)
生命周期方法使您可以在过程中的特定时间运行代码。
将组件插入树中后,立即调用componentDidMount(),我们通常使用它发出API请求。
使用React挂钩
useEffect(() => {
makeApiRequest()
}, [])
componentDidUpdate()在更新发生后立即被调用(处于状态或道具)。初始渲染不调用此方法。需要DOM节点的初始化应在此处进行。如果您需要从远程端点加载数据,那么这是实例化网络请求的好地方
使用React挂钩
useEffect(() => {
doYourStuff()
})
componentDidUpdate和上方的Hook之间的区别在于,在初始渲染中还将调用该Hook。 componentDidUpdate()方法没有100%的替代方法。
componentWillUnmount()在卸载和销毁组件之前立即被调用。使用此方法执行任何必要的清除,例如使计时器无效,取消网络请求或清除所有订阅。
使用React挂钩
useEffect(() => {
return () => {
cleanUp()
}
})
getDerivedStateFromProps()是在初始安装和后续更新上调用render方法之前调用的。它应该返回一个对象以更新状态,或者返回null则不更新任何内容。
了解更多-> React Lifecycle React Hooks