react学习笔记

redux

1,action是用户行为的抽象,我们可以抽象为一个对象

{

    type:“add”,

    payload:xxx

}

type可以理解为是action的目标,比如这个可能是文本输入框,payload是载荷,承载了这个行为中对原state增加或删改的数据

2,reducer是系统响应的抽象,它是一个函数

const reducer=(state,action)=>{

  switch (action.type) {
        case 'add_todo':
            return state.concat(action.text);
        default:
            return state;
    }

}

reducer传入两个参数,原状态和action,

每一个reducer都对应了一个action,并根据action携带的荷载对原数据进行修改,返回一个新的state,

比如:

var addAction={type:"add",number:1}

reducer(state=0,addAction){

    return state+addAction.number

}

输出的新state结果则为1(为demo方便省掉了reducer函数里的type分支)

3,每一个action都要reducer处理,这样会导致reducer内部的type分支会很庞杂,解决方法是引入redux的combineReducers方法,将所有的子reducer合并到根reducer中,state的属性对应相应的action,在createStore(reducer)时传入根reducer,那么状态变化会自动触发对应reducer的计算行为

转载于:https://my.oschina.net/u/3499937/blog/1499511

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值