在构造函数和componentWillMount中哪种初始化更合适?

ffx*_*sam 26 reactjs

如果我有一个需要一些设置的React组件(例如,对于定时器,或WebAudio API等),我无法确定初始化是否应该进入constructorcomponentWillMount.两者都有任何优点或缺点吗?我不清楚哪一个更适合这个.

我用Google搜索了一下,看看有没有人讨论过和之间的差异constructor,componentWillMount但我找不到任何东西.

编辑:Redux和任何异步函数不应该是等式的一部分.

Dan*_*mov 29

通常,this.state如果组件是有状态的,那么在构造函数中您唯一要做的就是分配初始值.你不应该在构造函数中做任何其他事情.

componentWillMount通常是不必要的.我会说在大多数情况下它的使用是一种反模式.人们使用它的一个原因是在渲染之前最后一次从外部源更新状态,但技术上在构造函数中分配它是等效的.它提供的唯一的小便利是你可以setState在里面,但你不能在构造函数内.

对于任何副作用(数据提取或DOM操作),您应该使用componentDidMount.