Javascript 错误:重新渲染过多。React限制渲染的数量以防止无限循环。使用效果无限运行

Javascript 错误:重新渲染过多。React限制渲染的数量以防止无限循环。使用效果无限运行,javascript,reactjs,react-hooks,use-state,Javascript,Reactjs,React Hooks,Use State,我一直在做一个react项目,在过去的两天里无法解决这个问题。我的fetch工作正常,并返回一个测验列表。但由于某些原因,我无法在渲染中显示它们。在ChromeDevTools中,我检查了状态,它得到了更新。我已经试着把response2.quizzes、newGames、games.concat(newGames)和所有其他的可能性都传递到setGames中。这行不通。下面是代码。任何帮助将不胜感激,因为我是新的反应。多谢各位 const [games, setGames] = React

我一直在做一个react项目,在过去的两天里无法解决这个问题。我的fetch工作正常,并返回一个测验列表。但由于某些原因,我无法在渲染中显示它们。在ChromeDevTools中,我检查了状态,它得到了更新。我已经试着把response2.quizzes、newGames、games.concat(newGames)和所有其他的可能性都传递到setGames中。这行不通。下面是代码。任何帮助将不胜感激,因为我是新的反应。多谢各位

  const [games, setGames] = React.useState([]);
  const token = localStorage.getItem('token');
  const getListofGames = async () => {
    getMethodOptions.headers.Authorization = token
    const response = await fetch(`${BASE_URL}/admin/quiz`, getMethodOptions);
    if (response.status === 200) {
      const response2 = await response.json();
      const newGames = [];
      newGames.push(response2.quizzes);
      console.log(newGames);
      setGames([...newGames]);
    }
  };
  React.useEffect(() => {
    getListofGames();
    console.log(games);
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, []);
  return (
    <>
      <NavBar />
      <CreateNewGameBar />
      <div>
        Create Games Appear here
      </div>
      {games.length > 0 && games.map(({id, name, thumbnail}) => (
        <QuizCard 
          quizId={id}
          quizName={name}
          thumbnail={thumbnail}
        />
      ))}
    </>
  );
}

export default Dashboard;```
const[games,setGames]=React.useState([]);
const token=localStorage.getItem('token');
const getListofGames=async()=>{
getMethodOptions.headers.Authorization=令牌
const response=wait fetch(`${BASE_URL}/admin/quick`,getMethodOptions);
如果(response.status==200){
const response2=wait response.json();
const newGames=[];
新游戏。推(回应2。测验);
console.log(新游戏);
setGames([…新游戏]);
}
};
React.useffect(()=>{
getListofGames();
控制台日志(游戏);
//eslint禁用下一行react HOOK/deps
}, []);
返回(
创建游戏出现在这里
{games.length>0&&games.map({id,name,缩略图})=>(
))}
);
}
导出默认仪表板```

您的useEffect在装载期间只工作一次,您确定这段代码引发了错误吗?我同意-我看不出这会导致无限循环。