我有一个具有以下结构的 React 应用程序:
成分A由...组成B and C
当组件B称其为componentDidMount
方法,是不是所有元件都安装完成了?
或者换句话说React 会起火吗componentDidMount
树中的所有组件都安装完毕后?
或例如成分B componentDidMount
组件时被调用A安装?
根据文档,第一次挂载时生命周期方法的顺序如下:
- 构造函数()
- 组件WillMount()
- render()
- 组件DidMount()
假设您有这个组件:
class A extends Component {
render() {
return (
<div>
<B />
<C />
</div>
)
}
}
When A安装完毕后,它会开火componentDidMount()
。那将会发生渲染后。由于 B 和 C 在 A 之前不存在render()
所谓,A的挂载完成需要B和C完成各自的生命周期。作为componentDidMount()
将在 B 和 C 安装后触发。作为componentWillMount()
在 A 之前触发render()
,因此它也会在安装 B 或 C 之前触发
UPDATE
从 React 16.3 开始,componentWillMount
开始弃用过程,同时componentWillUpdate
and componentWillReceiveProps
。上面的示例在任何 16.x 版本的 React 中都可以正常工作,但会收到弃用警告。有一些新方法取代了已弃用的方法,并且具有自己的生命周期。有关他们的更多信息,请参见组件 API 文档。这里有一个备忘单图为了新的生命周期
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)