Flux实施分析

Hit*_*nds 6 web-applications flux single-page-application reactjs

我正在研究反应生态系统,我来自AngularJS世界,我不知道应该使用哪种通量实现...

考虑到我喜欢angularjs(1x)的MV*结构,谁能解释什么是最好的?

我将重点关注:

  1. 他们之间的差异
  2. 目标
  3. 学习曲线
  4. 用法分享
  5. 可测性
  6. 可扩展性
  7. 遵守新标准(包括ES6和Web开发趋势)

我找到了很多资源,但我还是有很多疑问!

提前致谢

小智 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 的文章,你可能会发现它有帮助

/sf/answers/2397977711/