【发布时间】:2020-06-08 04:28:30
【问题描述】:
我包含了一个空数组,因为它应该只运行一次,但是我收到了 linting 警告,因为我没有将 ajaxCallsInProgress 作为依赖项包括在内。我不这样做的原因是,如果我这样做,它会创建一个无限循环。有没有更好的方法来处理这种情况来消除掉毛警告?据我所知,这是非常直接且有效的场景。
useEffect(() => {
const fetch = async () => {
// update state to show pending
setAjaxCallsInProgress(ajaxCallsInProgress + 1)
try {
const humans = await getHumans()
setHumans(humans)
} catch (error) {
setError(error)
} finally {
setAjaxCallsInProgress(ajaxCallsInProgress - 1)
}
}
fetch()
}, [])
【问题讨论】:
-
你是用
useState()定义setAjaxCallsInProgress和ajaxCallsInProgress吗? -
@norbitrial 是的。
标签: javascript reactjs eslint use-effect