在学习的过程中,老师是说用无状态组件可以极大提升性能,但是最近在看 《React 设计模式与最佳实践》 一书时,里面的9.2.2小节里面说无状态组件实际上不会带来任何状态上的提升,老师讲课的版本上 16 ,书上的版本是 15那么问题来了:JavaScript是不是世界上最好的语言? (:з)∠)
1 回答
慕森卡
TA贡献1806条经验 获得超8个赞
不要说无状态组件有没有性能提升了,
即使是你在render中bind也不会对性能造成多少影响,这点可以通过benchmark证实(社区普遍认为render中bind会对性能造成比较大的影响)。
另外更正,无状态组件并不是没有生命周期, 没有生命周期的应该是函数组件。因此无状态组件性能更好就说不通的,
猜测你想说的是函数组件性能更好。 如果你仅仅就一个函数组件和一个非函数组件(都没有子组件和父父组件)进行benchmark对比,毫无疑问性能更好(你们老师可能说的就是这种情况吧), 但是实际项目是组合使用,就不一定了。 因此非函数组件可以通过SCU控制是否render, 函数组件没有这样的优化空间(可以通过内部维护一个LRU的缓存解决一下)。
总之, 不一定,看情况
- 1 回答
- 0 关注
- 808 浏览
添加回答
举报
0/150
提交
取消