函数组件,每次state更新都会重新执行函数
useMemo 可以缓存数据, 不用每次执行函数都重新生成
可用于计算量较大的场景, 缓存提高性能
比如说几十万条数据统计数量
或者富文本编辑器, 就是一些在线文档需要用到缓存
const sum = useMemo(()=> {
let s = 0
stat.forEach(i => (s += i.count))
return s
}, [stat])
//这里stat是传入的数组
使用useMemo注意事项:
1.依赖项是否经常变化
2.缓存的元素是否创建成本较高