## 问题
首先我必须先解释一下 Flux 到底解决什么问题。Flux 是一种应用处理的数据的模式。虽然 Flux 和 React 一同在 Facebook 成长起来的,很多人把它们合到一起来理解,但你可以单独使用它们。它们是被设计来解决一些 Facebook 碰到的一系列问题的。
![](https://box.kancloud.cn/2015-10-27_562edca6ee236.jpg)
一个众所周知的例子就是关于通知的 Bug。当你登录 Facebook 后,可能会看到在消息 icon 上有一个通知。当你点击消息 icon,却发现并没有新的消息,然后通知不见了。几分钟之后,你在网页上做了一些交互,通知又回来了,你再一次点击消息 icon……但并没有新消息。然后就进入周而复始的循环。
这种循环不仅仅影响了网站的用户,还包含 Facebook 的开发团队。他们修复这个问题,一段时间内是 OK 的,但这个 Bug 过段时间又会出现。周而复始,一下被解决了,一下又有问题。
![](https://box.kancloud.cn/2015-10-27_562edca70cbdc.jpg)
因此 Facebook 试图寻找解决方案来跳出这个怪圈,而不是一次次地修复它。他们希望可以打造一个确定的系统,以此确保这个问题不会反复出现。