我正在研究反应生态系统, 我来自 AngularJS世界,我不知道应该使用哪种 flux 实现...
考虑到我喜欢 angularjs(1x)的MV *结构,有人能解释什么是最好的吗?
我找到了很多资源,但我还是有很多疑问!
提前致谢
答案 0 :(得分:3)
这里有一个预先存在的参考 - https://medium.com/social-tables-tech/we-compared-13-top-flux-implementations-you-won-t-believe-who-came-out-on-top-1063db32fe73#.l0ui3uq2z。
但是,当我开始钻研Flux时,我在Github上使用了社区评分,在npm中使用了下载次数。两个账户的回流率均居首位。我的理由是,如果一个框架很受欢迎并且很多人理解并使用它,它应该很简单。作为React和Flux的新手我已经有很多东西需要吸收,我发现Reflux更容易理解,因为它满足了Flux的许多设置需求。然而,如果你采取纯粹的立场并且想要坚持FB提出的核心Flux范例,这对于下一个人来说可能是也可能不是理想的事情。我已经读过Alt和Redux更接近它,它们现在也很受欢迎。
TL;博士;阅读Flux,然后阅读至少三到四个不同的框架,然后选择。
答案 1 :(得分:2)
我建议你从Flux开始,这就是Facebook最初的Flux架构实现,这些例子可以帮助你理解它。
https://facebook.github.io/flux/
一旦了解了Flux的工作原理,您就会知道并决定使用哪些其他实现,例如Redux,Flummox,Alt等......
答案 2 :(得分:2)
我一直在使用新项目AltJS,说实话,我喜欢它。
2,4 - 由于“使用共享”(如果我理解你的意思是正确的),这是非常奇特的。你可以创建“逻辑”和“纯(哑)”组件,以后可以使用很多次(没有必要创建相同的视图,但有不同的逻辑,所以你只需“选择其他商店”为相同的“纯粹” “组件”)。它还可以轻松跟踪其他商店状态,在一个组件中同时使用多个商店,这要归功于AltContainer(你肯定应该尝试使用AltContainer的AltJS)并使用来自一个商店的操作,而另一个商店得到更新(bindListeners)
3 - 关于学习曲线,我会说很容易理解整个概念。你最多只需要花一天时间来理解整个想法。当然,那里也有更复杂的东西,但其他图书馆也总是有一些更复杂的东西。
5 - 您可以使用“AltTestingUtils”轻松测试操作和存储(甚至在其页面上有一个示例)。您还可以与Chai或您正在使用的任何其他断言库混合使用。所以我会说
非常好 6,对于“可扩展性”,不完全了解Flux的概念吗?如果我们认为AltJS可能是“最纯粹”的实现之一,那么我会说它应该是相当不错的。到目前为止,我可以说它对我很有用(虽然很难看到未来,因为现在它不是那么大)。 如果出现可伸缩性问题,有一些工具可以提高性能(例如,AltContainer确实有shouldComponentUpdate)。7 - 整个AltJS已经完成在ES6中工作,至少他们这么说(我也是这样使用的)
虽然alt示例鼓励ES6和alt是在考虑ES6的情况下构建的,但使用普通的旧JavaScript是完全有效的。
我前段时间在其他主题上发过关于AltJS的帖子,你可能会发现它很有用