为什么说Redux超过了Facebook Flux?

为什么说Redux超过了Facebok Flux

原问题 是stack overflow网站上 Volodymyr bakhatiuk的提问。一下是原答案,回答者是Redux的作者 Dan Abramov。

原答案

Redux作者在此!!

Redux和Flux并没有什么不一样。他们大体上是相同的结构,但是Redux可以使用解构函数去切割一些错综复杂的边边角角,而Flux则使用回调注册。

在Redux中也不是一个基本的不同之处,但是我发现Redux使得某些抽象概念下理解相对比较容易,至少可以实现它,但是在Flux下就变得十分困难,甚至不能实现。

Reducer Composition

先举个栗子,分页的例子,我的Flux + React Router example 去处理分页,但是代码看起来很不好。Flux 使得在跨store库组件重用变得很不自然。如果两个stores需要在两个不同的actions里去处理分页的话,他们就需要从一个基础的store中去继承(很糟糕!如果你在使用继承的时候,你就会被拘束在特定的设计当中),或者在这个处理当中去调用一个函数,这就要用某种方式去操纵Flux store中内部的状态(state)。整个过程就是一团遭(虽然过程我们也能明确的知道)。

另一方面,多亏reducer组件支持,Redux在pagination还算正常。