Reflux-Flux-Redux三者简单的对比

由于在工作遇到React组件并行通讯(这里的通讯指的是组件的数据之间互相传递)的问题,不得不加入新的库和或者框架来解决并行组件通讯的问题,这里的并行组件的意思是这两个组件是没有共同的父组件的,由于React的是单向数据流的,两个并行组件没有共同的父组件,正常情况下子组件是先上父组件传递数据流,然后把数据流传递到另一个子组件,没有父组件,那么两个并行的组件就无法进行通讯,因此选择一个flux是必须的了,什么是Flux,Facebook对于Flux的解释就是一个为React而生的单向数据流结构框架,类似这种单向数据流结构框架有很多比如:Flux,Reflux,Redux,fluxXXX等,让人不知道选择那个,理解还不深就简单的对比一下

Reflux reflux-data-flow

Flux flux-diagram

redux redux André Staltz

相同概念

Action -> Data Store -> Component  

数据流结构对比

  • Reflux的数据流相对简单,没有dispatcher的概念,没有Redux的中间件概念
  • Flux的数据流结构对于Reflux来所相对复杂,多了dispatcher的概念
  • Redux数据流结构和Flux相当,但不相同,复杂程度差不多,还有中间件概念

代码层面的对比

  • Reflux代码的复杂度相对来比简单易于理解,简洁优美
  • Flux复杂度相当高,相对于Reflux来说,Flux的代码太多,而且不易于阅读
  • Redux复杂度中等,阅读相对容易理解

功能上对比

  • Reflux很简单,支持异步数据流,支持事件触发器的切换
  • Flux
  • Redux功能堪称强大, logging(日志), hot reloading(热重载), time travel(时间旅行), universal apps(通用), record(记录) and replay(回放)

总结

总得的来说Redux是主流且强大,Reflux简单而优美,Flux..............

你的欣赏是我最大的动力

Yanxiong Huang

My name is Yanxiong Huang. graduated from Nanyang middle school.Love Linux,familiar with Node.js,Docker,Serverless... and more Web technology.Contact Me:QQ 31356617;Email:huangaynxiong2013@gmail.com

guangzhou,china http://www.myfreax.com

乐在分享