Javascript 错误:重新渲染过多。React限制渲染的数量以防止无限循环。使用效果无限运行
我一直在做一个react项目,在过去的两天里无法解决这个问题。我的fetch工作正常,并返回一个测验列表。但由于某些原因,我无法在渲染中显示它们。在ChromeDevTools中,我检查了状态,它得到了更新。我已经试着把response2.quizzes、newGames、games.concat(newGames)和所有其他的可能性都传递到setGames中。这行不通。下面是代码。任何帮助将不胜感激,因为我是新的反应。多谢各位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
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在装载期间只工作一次,您确定这段代码引发了错误吗?我同意-我看不出这会导致无限循环。