第一次查看屏幕时,我最初在 useEffect 中调用 API 响应,但 API 请求继续运行,我猜是因为我已经达到了发送请求的限制。 (我是这项技术的新手)。
我使用 Flatlist 来显示项目,我的目标是仅在数据更新时渲染。
提前致谢。
useEffect(() => {
getCategory();
}, [data])
const getCategory = async () => {
setLoading(true)
await fetch(`URL`,
{
headers: {
'x-api-key': 'API_KEY'
}
})
.then((res) => res.json())
.then(resJson => {
setData(resJson)
}).catch(e => { console.log(e, 'ERROR') })
setLoading(false)
}
我认为您似乎已将状态数据添加为 useEffect 挂钩中的依赖项,因此当您在第一次渲染时调用异步函数,然后在异步函数中 setData 时,它将再次调用 useEffect 并渲染再次。删除useEffect钩子中的word数据,它只会渲染一次。