React fetch api 不断请求循环

React fetch api keep requesting on loop

function getCharacter(){
    fetch("http://localhost:8001/tinder-card").then((resp)=>resp.json()).then((result)=>{
        if(result.status==false){
            alert("No card found in database")
        }
        else{
            setpeople(result)
        }
        
    })
}


useEffect(()=>{
    getCharacter();
})

这是我的反应代码,我从节点 API 获取用户数据,一切正常,但是当我看到我的浏览器网络选项卡获取时 api 一直在循环请求,这我的电脑死机了,我该如何解决?

添加一个空数组作为 useEffect() 的第二个参数。

useEffect(()=>{
    getCharacter();
}, [])

否则 useEffect 将 运行 每次您的组件 re-renders 导致此无限循环。

您可能需要将 deps 作为 [] 传递。

React.useEffect(() => {
     fetch("http://localhost:8001/tindercard").then((resp)=>resp.json()).then((result)=>{
               if(result.status==false){
                   alert("No card found in database")
               }
               else{
                   setpeople(result)
               }
               
           })
    }, []);

你可以传递一个空数组作为useEffect的第二个参数,也许你的问题是重复的

useEffect(()=>{
getCharacter();
},[])