使用React的useCallback钩子替代useEffect的目的是什么?

8 浏览
0 Comments

使用React的useCallback钩子替代useEffect的目的是什么?

我正在尝试理解在使用React的`useCallback` hook代替`useEffect` hook的情况下的用例是什么。

它们都似乎作为监听器来处理其输入的状态变化(示例取自React文档):

useEffect(
  () => {
    const subscription = props.source.subscribe();
    return () => {
      subscription.unsubscribe();
    };
  },
  [props.source],
);
const memoizedCallback = useCallback(
  () => {
    doSomething(a, b);
  },
  [a, b],
);

但是,`useEffect` hook额外提供了清理资源的好处,而以前需要使用`componentWillUnmount`来进行清理。

那么,使用`useCallback`的一个好的用例是什么呢?我在这里漏掉了什么吗?

0