React中的useMemo和useCallback都是用来优化性能的钩子函数,但它们的使用场景和作用略有不同。
useMemo:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
,传入一个函数和依赖项数组,只有依赖项发生变化时,才会重新计算。useCallback:
const memoizedCallback = useCallback(() => { doSomething(a, b); }, [a, b]);
,传入一个回调函数和依赖项数组,只有依赖项发生变化时,才会重新创建回调函数。总结: