react状态管理之flux

flux逻辑理解

这里写图片描述

1.创建Actions
包括所有的动作,比如点击按钮添加列表项,这就是一个action,在action文件中直接用dispatcher方法来分配这个动作
action是用来暴露给外部进行调用

addNewItem: function (text) {
  AppDispatcher.dispatch({
    actionType: 'ADD_NEW_ITEM',
    text: text
  });
},

2.创建store
store里面包含了应用的状态和逻辑,用来管理应用中不同的状态和逻辑
store中可以用数组来存储应用中所需要的数据,然后外部通过调用strore中的方法来获取到数据放到state中。

items: [],

getAll: function () {
  return this.items;
},

3.创建dispacher
在dispatcher中通过register来给每个action注册对应的store中的方法

AppDispatcher.register(function (action) {
  switch(action.actionType) {
    case 'ADD_NEW_ITEM':
      ListStore.addNewItemHandler(action.text);
      ListStore.emitChange();
      break;
    default:
      // no op
  }
})

4.在view层通过调用action中的方法来调用这个动作

  createNewItem: function (event) {
    ButtonActions.addNewItem('new item');
  },

  render: function() {
    return <MyButton
      items={this.state.items}
      onClick={this.createNewItem}
    />;
  }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值