【发布时间】:2021-09-30 07:03:50
【问题描述】:
const [list, setlist] = useState([]);
const token = localStorage.getItem("token");
const requestOptions = {
method: "GET",
headers: { authorization: `Bearer ${token}` },
};
useEffect(() => {
fetch("http://localhost:3000/recruiter/postedjobs",requestOptions)
.then((response) => response.json())
.then((data) => {
setlist(data.data);
});
});
我正在研究 react js,我必须在页面渲染后显示用户列表,所以我使用 useeffect 钩子当我编写 useeffect 钩子时它调用 api 无限时间如何阻止它。如果我添加空白依赖项 [] 它显示依赖项中缺少请求选项
【问题讨论】:
-
添加
[],然后将requestOptions添加到其中或将eslint-disable-next-line放在该行之前 -
如果添加 [requestOptions] 会怎样?只有当请求选项发生变化时,它才应该重新获取
-
@Teneff
requestOptions在每次渲染时都会被重新创建,并且是一个需要进行参考比较的对象。这意味着将requestOptions添加到依赖数组将导致useEffect在每次重新渲染时运行。 -
我传递了空数组但反应显示警告他'requestOptions'对象使useEffect Hook(在第17行)的依赖关系在每次渲染时发生变化。将它移到 useEffect 回调中。或者,将“requestOptions”的初始化包装在它自己的 useMemo() 中
-
如果我添加 [requestoptions] 仍然有同样的警告问题
标签: javascript reactjs api react-hooks frontend