在某一个h5项目中,使用了 useMemo 对项目中的组件进行优化,减少组件不必要的re-render, 优化后的结果:
在组件的props和状态未改变时,组件不再进行 re-render
表面上看,这样优化没毛病,提高了组件性能,然后仔细阅读官方文档、以及网上一些大牛的文章,你会发现,你错了!!!
实际上我们优化时忽略了一个问题:
useMemo hook 本身的开销!
下面将以使用此 hook 和未使用此 hook 的组件性能对比数据来说明,是否应该:
remove most of useMemo
组件的复杂度为1时:
组件的复杂度为100 时:
组件复杂度为1000时:
组件复杂度为5000时:
useMemo 本身的开销会随着组件的复杂度逐渐变大,导致首次渲染更慢,在实际项目中,我们应该remove most of useMemo
。
🥂(❁´◡`❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞