Flux简单了解

首先,我们要知道的是Flux不是一个实现,也不是一个库,更不是一组代码,它是一种架构思想。我们称之为Flux架构。Flux是由Fackbook公司在2014开源的一款用于构建用户界面的应用开发架构。它与MVC、MVVM、MVP都称之为模式,各自都有许多不同的实现。Flux是开发者应用于中大型应用的一种开放模式。这有助于开发者进行应用的开发。

我们先欣赏一下Flux官方给出的Flux介绍:Flux is the application architecture that Facebook uses for building client-side web applications. It complements React's composable view components by utilizing a unidirectional data flow. It's more of a pattern rather than a formal framework, and you can start using Flux immediately without a lot of new code.

Flux架构基于React引入的单向数据流的概念而构建的。在此基础上添加许多其他概念,如:store(数据仓库)、source(数据源)、和actions(动作)、dispatcher(分派器)。

Flux的目标:将数据和应用程序的状态从视图中分离出来。

(7QOJS2$O8MEQ%Z$8PUH5JJ.png(Flux数据流)


dispatcher
dispacher(分派器)负责将载荷广播到注册的回调函数上面,dispacher负责集中协调流动于系统中的数据流。


store
store(数据仓库)是任意数据片段的抽象,如果组件或者应用程序需要维护数据或状态。它就应该被存放在store中。组件不会像React中那样维护自己的状态,来自dispatcher的事件触发store中的状态变更,store中的变更进一步触发视图的渲染。


view
view(视图)是React组件,实际上是一个render函数。该函数将会在页面中被加载,或在与视图相关的store更改时候被调用。


action
action(动作)由用户或者其他因素产生。它们可以表明用户点击一个按钮,或发出其他动作时需要更改相关的状态。例如从Web socket或消息提供者处接收消息。action是由dispatcher处理,然后dispatcher广播合适的信息,使得store可以做出相应的反应。




Last modification:October 29th, 2019 at 05:51 pm
如果觉得我的文章对你有用,请随意赞赏