Flux设计之路(一)...ALT

作者: Jason景 | 来源:发表于2016-04-13 20:58 被阅读365次

    简单来讲就是4步

    1.创建view,并且在view里监听store的变化

    2.在view里,调用相应actions,在actions里处理相应逻辑,使用dispatcher把结果发送给store

    3.在store里,做相应处理,储存数据。

    4.view监听到store有变化,调用this.setState()或this.forceUpdate()触发render(),在render()里根据不同的state渲染不同的界面

    ALT在各种flux设计思路中是比较容易上手的。示意图如下:

    创建ALT,并且把actions跟store放进去。

    第一步,安装alt

    npm install --save  alt

    第二步,新建第一个文件alt.js

    var Alt=require('alt');

    var alt=new Alt();

    module.exports=alt;

    第三部,新建Actions

    var alt=require('../alt');

    classLocationActions{

    updateLocations(locations){

          return locations;

    }

    module.exports=alt.createActions(LocationActions);

    第四部,新建Store

    var alt = require('../alt');

    var LocationActions = require('../actions/LocationActions');

    class LocationStore {

    constructor() {

              this.locations = [];

              this.bindListeners({//在这里绑定Actions

                     handleUpdateLocations: LocationActions.UPDATE_LOCATIONS

              });

     }

    handleUpdateLocations(locations) {//在这里相应Actions

                    this.locations = locations;

    }

    }

    module.exports = alt.createStore(LocationStore, 'LocationStore');

    第五步,在view里接受store变化

    var React = require('react');

    var LocationStore = require('../stores/LocationStore');

    var Locations = React.createClass({  

    getInitialState() {    return LocationStore.getState();  },  

    componentDidMount() {    LocationStore.listen(this.onChange);  },  

    componentWillUnmount() {    LocationStore.unlisten(this.onChange);  },  

    onChange(state) {    this.setState(state);  }, 

     render() {。。。。。}

    );  }});

    module.exports = Locations;

    相关文章

      网友评论

        本文标题:Flux设计之路(一)...ALT

        本文链接:https://www.haomeiwen.com/subject/nqiilttx.html