Mic*_*l94 5 javascript reactjs
在javascript类中获取数据是一种好习惯constructor()吗?
例如在react类中constructor(),我找到的每个教程都在其中提取数据componendDidMount(),但是没有人解释为什么我们不能在其中提取数据constructor()。
问题不仅涉及javascript类react。
在安装组件之前会调用构造函数(如#constructor doc中的此处所述:https ://reactjs.org/docs/react-component.html )。
为了回答您的问题,解释在于React组件的生命周期以及在状态更改时需要重绘的需求。通过在构造函数中进行异步调用,可以在安装组件之前触发setState。
如果在构造函数中调用setState,则在构造函数中进行异步调用会导致重新渲染,并且有时组件不会重新渲染。
从文档:
您不应在构造函数()中调用setState()。相反,如果您的组件需要使用本地状态,请直接在构造函数中将初始状态分配给this.state:
避免在构造函数中引入任何副作用或订阅。对于这些用例,请改用componentDidMount()。
| 归档时间: |
|
| 查看次数: |
2063 次 |
| 最近记录: |