gpt4 book ai didi

reactjs - 将数组传递给 useEffect 依赖列表

转载 作者:行者123 更新时间:2023-12-04 11:04:50 25 4
gpt4 key购买 nike

每 5 秒长轮询一次有一些数据,我希望我的组件在每次数组的一项(或数组长度本身)发生变化时调度一个 Action 。
当将数组作为依赖项传递给 useEffect 时,如何防止 useEffect 进入无限循环,但如果任何值发生变化,仍然设法调度一些 Action ?

useEffect(() => {
console.log(outcomes)
}, [outcomes])

在哪里 outcomes是一个 ID 数组,例如 [123, 234, 3212] .数组中的项目可能会被替换或删除,因此数组的总长度可能(但不必)保持不变,因此通过 outcomes.length因为依赖并非如此。
outcomes来自reselect的自定义选择器:
const getOutcomes = createSelector(
someData,
data => data.map(({ outcomeId }) => outcomeId)
)

最佳答案

您可以通过JSON.stringify(outcomes)作为依赖列表:

阅读更多 here

useEffect(() => {
console.log(outcomes)
}, [JSON.stringify(outcomes)])

关于reactjs - 将数组传递给 useEffect 依赖列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59467758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com