反应生命周期方法

时间:2018-05-04 13:55:49

标签: reactjs lifecycle

我已经做了一段时间的反应并熟悉一些生命周期方法,但对其他方法并不熟悉

e.g。 didMount显然是针对ajax请求或从api调用数据然后将其加载到应用程序

我想我已经征服了shouldComponentUpdate,并且已经意识到它纯粹是为了表现

static getDerivedStateFromProps我真的无法理解。这是为了表现还是为应用添加其他内容?

以及componentDidUpdate,这是再次表现还是在哪里我可以使用这些?

显然,执行操作和实际请求需要一些方法。显然有一些是为了提高性能等。只是希望得到didUpdategetDerived

的一些背景信息。

感谢

2 个答案:

答案 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