可以使用useMemo代替useEffect来调用副作用函数

时间:2020-06-22 05:01:55

标签: reactjs react-hooks

让我们有一个带有个道具的组件。在该组件内部,我称之为副作用,它仅应在props.count更改时调用(1-> 1不应计为更改)。以这种方式使用useMemo可以吗?

  useMemo(() => {
    callAPI();
  }, [count]);

1 个答案:

答案 0 :(得分:1)

否。

您应该使用useEffect挂钩来产生副作用。

useMemo返回一个记忆值。

const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);

您不应在useMemo中引起任何副作用。

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

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