可以使用 useMemo 而不是 useEffect 来调用副作用函数

Gar*_*rd. 4 reactjs react-hooks

让我们有一个带有 take <count: number> 属性的组件。在该组件内部,我称之为副作用,它应该仅在 props.count 更改时调用(1 -> 1 不应算作更改)。这样使用useMemo可以吗?

  useMemo(() => {
    callAPI();
  }, [count]);
Run Code Online (Sandbox Code Playgroud)

Uts*_*tel 5

不。

您应该使用useEffect钩子来消除副作用。

useMemo返回一个记忆值。

const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
Run Code Online (Sandbox Code Playgroud)

您不应该在 中造成任何副作用useMemo

有关这方面的更多信息,您可以在这里阅读:

https://reactjs.org/docs/hooks-reference.html#usememo