React docs建议使用componentDidMount
发出网络请求
componentDidMount()
挂载组件后立即调用。需要DOM节点的初始化应该在这里进行。如果需要从远程端点加载数据,这是实例化网络请求的好地方。
调用setState()
此方法将触发额外的渲染,但是可以保证在同一刻度内刷新。这样可以保证,即使render()
在这种情况下将调用两次,用户也不会看到中间状态。
根据情况componentWillMount
:
这个生命周期废弃了,因为v16.3.0
的反应,并且不再鼓励usage.However其重命名为UNSAFE_componentWillUpdate
和至少预计工作到 的反应
在呈现发生之前,将不会返回异步调用以获取数据。这意味着组件将使用空数据至少渲染一次。
无法“暂停”渲染以等待数据到达。您不能componentWillMount
以setTimeout
某种方式退还诺言或争执。处理此问题的正确方法是设置组件的初始状态,以使其对渲染有效。