react17中使用setState导致了死循环

在使用setState时发生死循环的错误,可能的原因是在这三个地方使用了setState:

  • componentDidUpdate;
  • componentWillUpdate;
  • render。

为什么会这样?

       每次渲染页面的时候就会调用render,render里面是setState,就要执行setState,而每次执行setState就要重新渲染页面,要渲染调用render,render里执行setState,又重新渲染调用render—setState–render—setState…就这样一直发生死循环。

       只需将 setState() 调用移到 render() 函数之外即可。

       如果在组件挂载后必须初始化状态(也许是从API端点提取数据),请在 componentDidMount() 中进行。

       如果可以在组件挂载之前初始化状态,也可以使用构造函数来完成。

参考内容:react循环setstate_新手React开发人员容易做错的5件事

相关推荐

  1. react17使用setState导致循环

    2024-04-10 13:02:04       18 阅读
  2. day03--reactsetState使用

    2024-04-10 13:02:04       14 阅读
  3. ReactReact setState执行机制

    2024-04-10 13:02:04       24 阅读
  4. React16源码: ReactsetState和forceUpdate源码实现

    2024-04-10 13:02:04       36 阅读
  5. 理解ReactsetState()方法

    2024-04-10 13:02:04       31 阅读
  6. reactuseState、setState、usemeno、meno区别

    2024-04-10 13:02:04       31 阅读
  7. sql使用in直接卡

    2024-04-10 13:02:04       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 13:02:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 13:02:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 13:02:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 13:02:04       20 阅读

热门阅读

  1. Stream流中方法详解

    2024-04-10 13:02:04       14 阅读
  2. 自己总结的ICT云计算题库二

    2024-04-10 13:02:04       9 阅读
  3. 自己总结的ICT云计算题库

    2024-04-10 13:02:04       9 阅读
  4. 30个商业赚钱的思考(上)

    2024-04-10 13:02:04       12 阅读