使用反应查询反应本机useeffect eslint错误

React native use effect es-lint error with react query

我正在从 react-query 挂钩获取 mutate() 函数并将其传递给 use effect,但 use effect 显示错误,它缺少依赖项 mutate。包括它或删除依赖项数组。

下面是代码示例。

const {track, setTrack} = useState(null)
const {mutate} = useTracker()

useEffect(() => {
if(track?.tracking) {
mutate()
}
}, [track]) // This line is throwing the es-lint error

我在这里遗漏了什么,因为我认为我不能在数组依赖项中传递 mutate 函数。

您可以而且应该将 mutate 作为依赖项传递给 useEffect。该函数保证在重新渲染时保持稳定,因此不会造成任何伤害,但 linter 无法知道这一点。