【问题标题】:The dependency array of useEffect, useCallback, useMemouseEffect、useCallback、useMemo的依赖数组
【发布时间】:2021-09-29 10:43:03
【问题描述】:

我对 React Hooks 的依赖性感到很困惑。 示例如下:

const memorizeValue = useMemo(() => {
    return {
      count,
      setCount,
    }
  }, [count, setCount])

在 React 纪录片中:

注意

依赖数组不作为参数传递给函数。 然而,从概念上讲,这就是它们所代表的:每一个价值 函数内部引用的也应该出现在依赖项中 大批。将来,足够先进的编译器可以创建 这个数组是自动的。

countsetCount 都在 useMemo 的回调中,如果我没有在依赖数组中传递 setCount,eslint 不会警告我,但 count 会,那么有什么区别? 为什么不需要通过setCountsetCount 在 useMemo 里面,不是吗?

这里是codeandbox链接:

https://codesandbox.io/s/react-codesandbox-forked-xfupk?file=/src/Demo1/index.js:254-363

我想我可能误解了这份文件。有人指出,谢谢。

【问题讨论】:

    标签: reactjs react-hooks use-state usecallback react-usememo


    【解决方案1】:

    查看useState docs

    注意

    React 保证 setState 函数标识是稳定的,不会 更改重新渲染。这就是为什么从useEffect 中省略是安全的 或useCallback 依赖列表。

    假设setCountuseState 钩子的更新函数,那么它保证是一个稳定的引用。

    【讨论】:

      猜你喜欢
      • 2019-11-16
      • 2023-03-25
      • 2020-03-07
      • 2021-06-17
      • 2022-12-18
      • 2022-01-11
      • 1970-01-01
      • 2020-04-23
      相关资源
      最近更新 更多