如果我在 ReactJS 或 React Native 的类的构造函数中使用 setState() 函数会发生什么?

新手上路,请多包涵

出于好奇,我只想知道如果我在 React Native 或 ReactJS 的类的构造函数中使用 setState() 函数会发生什么?如:

 constructor(props) {
  super(props);
  this.setState({title: 'new title'});
}

React 的生命周期会发生什么?


我还没有阅读 React 中的代码。恐怕我这样写会造成一些损害。

原文由 Jony 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 370
1 个回答

setState 本质上是在构造函数中运行一堆你可能不需要的逻辑。

当你去 state = {foo : "bar"} 你只需将一些东西分配给 javascript 对象 state ,就像你对任何其他对象一样。 (顺便说一句,这就是 state 只是每个组件本地的常规对象)。

当您使用 setState() 时,除了分配给对象 state 之外,react 还会重新渲染组件及其所有子组件。您在构造函数中不需要它,因为组件还没有被渲染。

原文由 swelet 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题