React 组件性能优化纠结中

2023-05-23 · 周二一般多云

我打算优化公司项目字幕功能的状态,因为现在所使用的 Provider 方式会造成大量频繁且无用的重绘,如果能将重绘级别缩小到所使用的组件本身,那么就是最好不过的了。

此前有部分状态已经采用了 Zustand 管理,效果还不错,遂也想迁移过去,但我发现事情并没有这么简单。当前端收到字幕事件时需要判断该字幕是否已经存在于列表当中,才能插入或更新。如果将这个判断的逻辑放在 Store 里面就有耦合业务的情况,不够优雅,但能保证 React 部分不会轻易产生重绘。而放在 Hooks 里面的话,就又得先获取 Store 里面的值到 React 这一层,然而这样做一旦状态的值被更新,必然会触发重绘,就几乎没有任何优化效果。

如果字幕不需要 Provider 或状态管理呢,那就更好了,直接解决掉所有疑惑。此前在产品层面上已经确认让我屏蔽掉底部模式了(展示的行数较少),就是还要一周左右的时间看看使用反馈,没有异议的情况下重构相关组件,取消掉 Provider,其实就已经足以改善性能问题了。

Paul

Paul

特立独行的一只前端菜狗。这篇日记编写大概耗时了 10 分钟,内容均为个人原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!如本站内容对你有所帮助的话,不妨 捐助支持 一下?

近期评论

鲍小螺: 前辈多多指教!ahu: 后生可畏寻梦xunm: 真不错,板子很好看。timochan: 太惨了( ,更新暴毙,如果恢复没成功,数据也 dump 不出来鲍小螺: 在这部分对话中,广树和保罗继续讨论生活的不同方面。保罗提到了技术更新和国内的优秀 IT 技术。广树解释了在国内积累的经验如何在日本产生穿越的感觉,并表达了对于日本生活节奏的喜爱。他还提到了医疗水平的差异和对于生活方式的感受。保罗表示,通过动漫和现实的对比,艺术来源于现实,日本生活的确有着独特之处。他们讨论了国内的生活节奏和就医等方面的压力,以及个人选择的自由。最后,他们也谈到了不结婚不买房的选择和对于房价的困扰。鲍小螺: 该对话进一步讨论了房地产和税收的问题。保罗提到了国内的房地产税和增值税以及日本的固定资产税。广树解释了日本房地产税的收取方式,以及房产税对于国内房产的影响。他认为,与国内相比,日本的房子质量和服务更好。保罗提出疑问,为什么自己拥有的地也要交税。广树解释了类似增值税的原理,并指出在日本拥有房产是稳定安全的。最后,保罗表示从广树的角度来看,情况确实是如此。鲍小螺: 这篇文章的聊天记录也尝试过用 GPT 总结,结果并不是太好,不知道是不是 Prompt 的问题,实际出来的内容过于简练了,于是又耗费了半小时写完,呼~
奇趣音乐盒技术源于 Kico Player
Emmm,这里是歌词君