如果我有一个需要一些设置的 React 组件(例如计时器或 WebAudio API 等),我在决定初始化是否应该进入constructor
或componentWillMount
. 两者有什么优点或缺点吗?我不清楚哪个是更好的地方。
我在谷歌上搜索了一下,看看是否有人讨论过 和 之间的区别constructor
,componentWillMount
但我找不到任何东西。
编辑:Redux 和任何异步函数不应该是等式的一部分。
如果我有一个需要一些设置的 React 组件(例如计时器或 WebAudio API 等),我在决定初始化是否应该进入constructor
或componentWillMount
. 两者有什么优点或缺点吗?我不清楚哪个是更好的地方。
我在谷歌上搜索了一下,看看是否有人讨论过 和 之间的区别constructor
,componentWillMount
但我找不到任何东西。
编辑:Redux 和任何异步函数不应该是等式的一部分。
通常,this.state
如果您的组件是有状态的,您在构造函数中唯一要做的就是分配您的初始值。你不应该在构造函数中做任何其他事情。
componentWillMount
一般没有必要。我会说在大多数情况下它的使用是一种反模式。人们使用它的一个原因是在渲染之前最后一次从外部源更新状态,但从技术上讲,在构造函数中分配它是等效的。它提供的唯一次要便利是您可以setState
在它内部,但不能在构造函数内部。
对于任何副作用(数据获取或 DOM 操作),您应该使用componentDidMount
.
如果您想调用一些通量操作(用于 ajax 调用),请使用 componentWillMount 或 componentDidMount。
您可以在构造函数中初始化状态