Vue.js:太多的反应性数据是否会使应用程序变慢并导致性能不佳?



我们公司正在使用vue.js开发一个非常复杂的单页应用程序(类似于excel(。有 10000+ 个组件(每个单元格是一个组件(,每个组件大约有 100 个反应式道具(数据项(。我们也使用 vuex。它可以工作,但我们担心它的性能(事实上它的表现有点慢(。我们听说太多的反应性数据会带来糟糕的性能。

我经常听到有人说,如果用jQuery重写它会更快。

我的问题是:vue 可以处理这么多反应式数据吗?如果没有,限制是多少?或者如果我的应用程序性能不佳,它真的是由 vue 本身引起的吗?

如果它被jQuery重写会更快

即使这是真的,也会使您的应用程序更难维护。但这种说法是错误的二分法,好像框架/库之间的选择是决定应用程序性能的决定性因素。不是。但是,如果你想获得最佳性能,基准测试一次又一次地表明,调优的vanillajs应用程序优于任何框架。

让任何东西表现良好的关键是正确设计(和实施(。虽然 Vue 内置了许多性能改进,但您还可以做一些其他事情来提高性能,例如使用功能(无状态(组件。

你也可以考虑 react,它没有 Vue 那样开箱即用的性能调优,但它使控制这些事情变得更容易。最终结果(回到我的原始观点(仍然在很大程度上取决于您的实现。

下面的链接证明 Vue/Vuex 不是问题所在,也许你的设计有缺陷?

这个简单的测试测量数组中元素的创建 以及通过 VUEjs 上的同步和异步循环输出到 DOM 反应属性。从UX的角度来看,异步方法提供了 更好的体验,因为它允许通知。

Credits to Pablo Garaguso

最新更新