我正在尝试向后端发出请求,以便在组件加载时,它可以接收一些要呈现的数据。
问题是应用程序进入了消耗资源的请求的无限循环。
我做错了什么?
useEffect(() => {
Axios.post("http://localhost:3005/people", {UUID}).then((response) => {
const peopleArray = [];
for (let key in response.data) {
peopleArray.push({ ...response.data[key] });
}
setPeople(peopleArray);
});
});
2条答案
按热度按时间mefy6pfw1#
您需要一个依赖项数组来useEffect,以便仅在已安装的组件上运行或这些依赖项中的任何一个发生更改。由于没有依赖项数组,因此它将在每次渲染时运行,这将导致无限循环。
o8x7eapl2#
检查Documentation或检查此示例w3school
仅在初始渲染上运行效果: