请在question (Update 5)上阅读此序列以了解背景信息:
2015年7月Paul Lewis的React + Performance = ? article显示了一个 例如,React比手工编写的vanilla慢 对于无限的Flickr图片列表,尤其如此 在移动设备上显着这个例子表明每个人都应该永远 测试特定用例和特定目标平台的性能 和设备。
我在问自己,为什么Facebook会使用React操纵他们的DOM? 似乎使用vanilla JS操作DOM更快,这是合乎逻辑的,因为React是用JS编写的。
用户体验不比开发人员的人体工程学重要吗?
编辑:例如亚马逊发现了100ms of latency cost them 1% of sales
答案 0 :(得分:3)
用户体验并不重要。 React.js很容易以快速的方式组织UI。
React.js带来了这些值:
答案 1 :(得分:0)
结构良好的Vanilla JavaScript总是比React快,尽管React上的一些扩展已经表明,在渲染速度方面,框架可能会接近VanillaJS。
React的主要优点是它需要完成构建JavaScript的任务。这使得对于熟悉React的其他开发人员可以更容易理解代码,并且还允许快速重构结构良好的React类以适应新功能。 React为您提供这些能力,同时不会对性能产生巨大影响
答案 2 :(得分:0)
更新DOM通常是Web性能的瓶颈。 React试图通过使用称为虚拟DOM的东西来解决这个问题;一个DOM保存在内存中。任何视图更改首先反映到虚拟DOM,然后有效的diff算法比较虚拟DOM的先前和当前状态,并计算应用这些更改的最佳方式(所需的最小更新量)。最后,这些更新将应用于DOM,以确保最小的读/写时间。这是React高性能背后的主要原因。