Flux

React 本身只涉及UI层,若果搭建大型应用,必须搭配一个前端框架。也就是说,要至少学两样东西才能基本满足需要,react+前端框架。Facebook官方提供了flux框架

  a)  Flux是一种架构思想,专门解决软件的结构问题,它跟MVC架构是同一类东西,但是更加简洁清晰

  b)  组成部分:

    View: 视图层

    Action(动作):视图层发出的消息

    Dispatcher(派发器):用来接收Actions、执行回调函数

    Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面

    

  c)  Flux的最大特点是数据的单向流动,

    1)    用户访问 View

    2)    View 发出用户的 Action

    3)    Dispatcher 收到 Action,要求 Store 进行相应的更新

    4)    Store 更新后,发出一个"change"事件

    5)    View 收到"change"事件后,更新页面

     

  d)  View是使用了React创建的组件,也可以使用controller View模式。 controller view是一个React顶级组件,包含所有的state状态并通过props传递给子组件。controller view方便了测试和组件复用。

      Action 每个Action都是一个对象,包含一个actionType属性和一些其他其他和属性(用来传递数据),Action中利用Dispatcher把具体的动作(actionType)派发到store

      Dispatcher Dispatcher的作用是将Action派发到store,即触发注册的回调函数。也可以将它看做一个路由器,负责View和store之间,简历正确的Action传递路线。Dispatcher只能有一个,而且是全局

      Store 保存整个应用的state状态类似于MVC中的Model

  e)  Container 容器,将React类作用于将反应类转换为更新其相关存储更改时状态的容器。当store中的数据发生改变时,自动更新react中的store

原文地址:https://www.cnblogs.com/kingwu/p/10062188.html