2017-07-18 55 views
2

我正在尝试调试第三方组件。我看到的情况是,它期望在componentWillMount()中初始化一个内部属性,然后在componentWillUpdate()中使用它。 React documentation对此有关“更新”方法的说法:React componentWillMount()在componentWillUpdate()之后调用?

更新可能由道具或状态的更改引起。这些方法 称为当一个组件被重新呈现

话虽这么说,应该在代码中处理的可能性,componentWillUpdate()componentWillMount()之前被调用,或者我应该被挖,看看有什么似乎是一个明显的原因倒序?

我们使用的阵营15.0.1

+0

组件在安装之前不应该能够更新。 – Gregg

+1

这里是问题,组件挂载会在挂载之前触发,但是在挂载,渲染和挂载之前,组件会被渲染多次,也就是说,你的组件在一个显示容器内:display:none '。每次属性更改时,组件都会呈现,但并不意味着它将被挂载。 –

回答

0

正如你提到的,只有当一个组件是重新呈现componentWillUpdate()将被调用。并且componentWillMount()将在初始渲染(组件在其生命周期中仅安装一次)之前被调用。所以在componentWillUpdate()之后没有可能componentWillMount()

相关问题