【问题标题】:Too many re-renders. React limits the number of renders to prevent an infinite loop.?太多的重新渲染。 React 限制了渲染的数量以防止无限循环。?
【发布时间】:2021-01-22 04:13:21
【问题描述】:

渲染以下组件时出现错误:

重新渲染过多。 React 限制了渲染的数量以防止无限循环。?

import React, { useState } from 'react';
     
function My() {
  const [NAME, setValue_] = useState([{name:"",lname:""}]);  //      usestate
  let arr = [{ name: "man", lname: "Kumar" }];    //.......creating array for passing to set the value for State..
      
  setValue_(arr); //............passing array to Update data......

  console.log(NAME);   //..........Want to see updated Data....
        
  return(<> </>) //............... i didn't return anything........
}

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

import React, { useState } from 'react';
     
function My() {
  const [name, setName] = useState([{ name: "man", lname: "Kumar" }]); 
        
  return(<>helloworld</>)
}

就是这样。只需将数组直接传递给状态,而不是稍后更新它。如果你真的需要这样玩,那么使用 useEffect。另外,请保持命名的一致性。 setValue 与名称的关系不太好。

【讨论】:

  • 我的无限循环背后有什么问题
  • 组件渲染 => 您在生命周期方法、函数或事件之外更新状态 => 组件重新渲染 => 等等。
  • 请验证这个答案,以防其他人遇到同样的问题;)。
猜你喜欢
  • 2020-09-22
  • 1970-01-01
  • 2021-06-24
  • 2021-02-26
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
相关资源
最近更新 更多