useMemo进行性能优化

39 阅读1分钟

函数组件,每次state更新都会重新执行函数

useMemo 可以缓存数据, 不用每次执行函数都重新生成

可用于计算量较大的场景, 缓存提高性能

比如说几十万条数据统计数量

或者富文本编辑器, 就是一些在线文档需要用到缓存

const sum = useMemo(()=> {
    let s = 0
    stat.forEach(i => (s += i.count))
    return s
}, [stat])
//这里stat是传入的数组

使用useMemo注意事项:

1.依赖项是否经常变化

2.缓存的元素是否创建成本较高