useMemo
作用: 有助于避免在每次渲染时都进行高开销的计算。
参数: 创建函数和依赖项数组, 它仅会在某个依赖项改变时才重新计算 memoized
值。
返回: 返回一个 memoized 值。
tip
传入
useMemo
的函数会在渲染期间执行, 所以为了避免一些没必要重复执行的方法, 可以使用useMemo
。请不要在这个函数内部执行与渲染无关的操作,诸如副作用这类的操作属于useEffect
的适用范畴,而不是useMemo
。如果没有提供依赖项数组,
useMemo
在每次渲染时都会计算新的值。你可以把
useMemo
作为性能优化的手段,但不要把它当成语义上的保证。
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);