检索数据时重新渲染组件

时间:2020-09-18 13:38:59

标签: javascript reactjs react-native

当我从Firebase提取数据时,请求仍在运行,并且数据仍在控制台中运行,我不知道为什么它没有停止 我使用了清理功能,中止了控制器,但是没有用 这是我的代码

我希望你能帮助我

const [fetchedPhoto, setFetchedPhoto]= useState({
    imagUrl:[]
})

const retrieveImg= useCallback(async() => { 
    try{
        const url=[]
        const data= await fetch('https://naif-65aa6.firebaseio.com/test-project.json',{signal:controller.signal})
        const response= await data.json()
        
        for(const key in response){
            url.push({
                id: key,
                name: response[key].name,
                phone: response[key].phone
            })
        }

        setFetchedPhoto(prevState=>({
            ...prevState,
            imagUrl: prevState.imagUrl.concat(url)
        }))

        console.log(fetchedPhoto.imagUrl);

     } catch(err) {
         console.log(err);
     }
},[fetchedPhoto])

useEffect(()=>{
    retrieveImg()
           
    return()=>controller.abort()
},[fetchedPhoto])

0 个答案:

没有答案