gpt4 book ai didi

reactjs - React hooks 引用值对比

转载 作者:行者123 更新时间:2023-12-04 04:09:28 24 4
gpt4 key购买 nike

各位!想象一下,我有一个组件 SomeComponent。每次 'b' 值更改时,都会触发 useEffect,尽管 'b 不在其依赖项中

const SomeComponent = () => {
const a = [1, 2, 3] //just an example of dependency. In real life it will be a changing value
const b = useSelector(someValueSelector)

useEffect(() => {
//do some staff
}, [a])
}

有没有办法在 SomeComponent 中存储对“a”数组的引用?我知道的唯一方法是创建一个包装器组件并传递

a = useMemo(() => [1, 2, 3], [])

作为 Prop

<SomeComponent a={a} />

最佳答案

这里的问题是每次重新渲染 a 的引用都会发生变化,因此 useEffect 会再次触发

您可以在 SomeComponent 中使用 useMemo 将内存值分配给 a

const SomeComponent = () => {
const a = useMemo(() => [1, 2, 3], []);
const b = useSelector(someValueSelector)

useEffect(() => {
//do some staff
}, [a])
}

关于reactjs - React hooks 引用值对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62005629/

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