我试图将获取的数据分配useQuery给一个状态,以根据请求是否为空来处理更好的条件渲染。
目前,我正在尝试做的事情如下所示:
...
const [userLists, setUserLists] = useState({});
...
const lists = useQuery(["lists"], api.fetchLists);
if(lists.isLoading){
//
} else {
setUserLists(lists.data.lists); // this line is causing the issue
}
Run Code Online (Sandbox Code Playgroud)
浏览器返回给我一个Uncaught Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.
为什么会出现这种情况呢?如何将结果实际放入 useState 挂钩中?