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

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

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


我还没看过里面的代码.我这样写恐怕会有什么损失.

推荐答案

setState的基本功能是运行一些在构造函数中可能不需要的逻辑.

当你达到state = {foo : "bar"}时,你只需给javascript对象state赋值,就像你给其他对象赋值一样.(顺便说一句,state只是每个组件的局部常规对象).

使用setState()时,除了指定给对象state,react还会重新命名组件及其所有子组件.构造函数中不需要它,因为组件还没有呈现.

Reactjs相关问答推荐

为什么VScode中的React应用程序无法识别文件夹 struct ?

构建next.js项目时状态不变,但在dev服务器中

XChaCha20-Poly1305的解密函数

在REACT-RUTER-DOMV6中使用通用页面包装组件有问题吗?

在动态React组件中删除事件侦听器

页面永远加载API/从数据库获取数据

使用自动播放的视频组件呈现登录页面时出现JEST测试错误

如何在MUI x图表条形图上放置圆角?

无法使用react-hook-form和react-places-autocomplete在字段中输入值

修改React数据表扩展组件

在按钮单击中将动态参数传递给 React Query

在 Nextjs13 应用程序目录中呈现从 supabase 获取的数据

我可以更改 styled() 中的响应吗? (MUI v5)

如何在react 中正确销毁上下文?

next js 13 在获取中使用标头时动态渲染而不是静态渲染?

在 Spring Cloud Gateway 中运行的 React SPA 页面刷新出现白标错误

如何使图标适合 react-bootstrap 中的行元素

如何在props 更改时运行自定义挂钩?

.filter() 函数在删除函数中创建循环 - React

由于另一个子组件,如何在react 中渲染另一个子组件