Flux是一种在app中处理数据的模式。在Facebook,Flux和React和并驱前行。大部分开发者一起使用它们,但是你可以为你自己所用。它们的存在是解决了Facebook当期遇到的问题。
这一系列的问题中,最大的Bug莫非新消息通知了。当你登录Facebook了,你发现消息栏有提示了,你很自然的去查看新消息,事实上并没有新消息。这时,提示没有了。之后你已经刷了好几分钟好友的动态,新消息提醒又来了。你又去查看了,但是还是没有。就这样来回折腾。
这种循环不仅仅针对用户而言,同样也困扰了Facebook团队。他们修复了这个Bug,一切都恢复正常。这种正常状态仅仅只会维持一会儿,之后又会出现,再又去修复。反反复复。Facebook不得不寻找一个更合理的方式完全消除这个Bug。
他们发现潜在的问题存在于程序中数据的流动。
程序中有专门存放数据的models,并且会将数传递给view,渲染数据。
用户的交互发生在views,views有时需要根据用户的输入来更新model中的数据,有时model需要依赖其他model更新。
更重要的是,有时这些操作会引发一些级联变化。很难精准预测数据的走向。
解决方案:单向数据流动
一因此Facebook觉定尝试一种单向数据流架构–仅仅只有一个方向。当你插入新数据的时候,数据流从头开始进行。这就是Flux架构。

转载自:https://blog.youkuaiyun.com/github_36238939/article/details/52672234