我们在应用程序中使用事件驱动的JavaScript MVC框架,但是对于较大的数据集存在性能问题.我们已经实现了React中使用的许多相同技术来缓解我们的问题(按时间间隔渲染,比较数据状态并仅更新更改的内容),但我担心我们正在实施我们自己的,不太完整的,框架.在我们采用React来处理数据量很大的UI之前,有哪些替代方案?
看看RiotJS.它超级轻巧(只有几kbs),而且使用起来更方便.
Riot为所有浏览器带来自定义标签,包括IE8.想想React + Polymer,但有着令人愉快的语法和一个小的学习曲线.
奇怪,没有人提到过Vue.js
Vue.js是一个用于构建交互式Web界面的库.它通过简单灵活的API提供数据反应组件.
令人敬畏的Vue.js - 与Vue.js相关的精彩内容的精选列表
现在正在发展趋势!
您可以考虑在React之上使用一些层来实现更好的状态管理.
Om是一个很好的库,如果你对ClojureScript没问题,你可以在作者的博客中阅读更多关于它的内容.
静态 - 对React的轻量级ClojureScript抽象;
Reagent - React的简约ClojureScript接口;
Morearty.js - 纯JavaScript中React的集中式状态管理.
这些库使用不可变数据结构来表示您的状态,并shouldComponentUpdate
为每个组件定义方法,这些组件只使用快速===
运算符进行比较.这种优化应该为您繁重的UI提供更快的速度,而理智的状态管理工具应该非常有助于组织和支持您的代码.根据我的经验,管理跨组件的可变状态非常困难.