我试图从componentWillRecieveProps调度一个动作,然后调用reducer。组件中使用Reducers数据。 我收到变量未定义的错误。 我认为渲染是在执行componentWillRecieveProps之前加载的。
所以我想问一下是否首先加载渲染或componentWillRecieveProps。
答案 0 :(得分:2)
componentWillReceiveProps
在render
之前被调用。
下面是一个图表,说明何时调用生命周期(直到React 16.3):
..
新生命周期:
值得注意的是,自从React componentWillReceiveProps
起,16.3
是considered legacy and should be avoided in 'new' code。旧版生命周期将从React 17开始删除。
以下是每个React版本在什么时候使用生命周期的动态图:http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
您可以阅读有关组件生命周期here的更多信息。
答案 1 :(得分:0)
答案是是,
注意: componentWillReceiveProps 和 React 16.3
中的 getDerivedStateFromProps请检查:Replacing ‘componentWillReceiveProps’ with ‘getDerivedStateFromProps’
此外,请查看组件创建生命周期和组件更新生命周期 以及超级重要和不重要!
创造生命周期挂钩:
更新生命周期挂钩: