所以,我有一个名为Project
的组件,其中有一个名为ProjectDates
的孩子。ProjectDates
收到其父母的开始/结束日期,以及计算完成百分比。
我目前正在render()
进行此计算,因此我不必在componentDidUpdate
和componentDidMount
中进行此计算。这是正确的,还是我应该使用更合适的生命周期钩子?
答案 0 :(得分:2)
我认为你的所有建议都是错误的。让我们一个接一个:
1) componentWillMount 。你可以在这里有一些逻辑 - 但是not recommended在这里引入任何侧面依赖关系。所以在真正的世界中,你通常需要与后端进行交互 - 它的帮助很小。必须更好的选择 - componentDidMount你没有这样的限制。
2) componentWillUpdate 。你应该在这里小心 - 不要以无限循环结束。在此处setState
调用componentWillUpdate
可能会再次呼叫componentWillReceiveProps
,依此类推。考虑使用is prohibited。
3)渲染。除了准备(呈现)组件内容的逻辑之外,此方法不应包含任何其他逻辑。考虑将您的“业务”逻辑移至componentDidMount
/ ul
或构造函数(如果适用)。
我建议在做出有关您的架构的决定之前先通过官方componentWillReceiveProps。