很多时候,我们需要在组件中计算数据,例如将数组组合到单个值,或者排序、过滤等。希望在其他状态发生变化时,不需要再重复 render。
useMemo 它与 useCallback 密切相关,但用于优化数据处理。它有相同的 API 来定义它所依赖的值。传入需要创建的函数和依赖项数组。 useMemo 只会在某个依赖项发生更改时重新计算 memoized 值。 此优化有助于避免在每个渲染上进行高开销的计算,如果没有提供依赖项数组,那么 useMemo 将会在每次渲染时重新计算新的值。
import { useMemo } from 'rax';
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);