关于redux

基本原则

  • 应用中的state以对象树的形式存储在store(唯一)中,通过store.getState()可以获取state对象树。
  • state是只读的,只能通过触发一个action来改变state
    store.dispatch()触发action
  • 通过编写reducer来指定state对象树如何通过action进行改变。reducer是纯js函数,以prevState和action为入参,返回新的state对象。

action

  • action是一个仅包含{type,payload}的对象,type表示action的类型,必须,payload是action携带的数据,通过store.dispatch()来发送。
  • 一般使用函数(Action Creators)来生成action,Action Creators是一个纯js函数,返回一个action对象。

    Reducer

  • Reducer用来处理action触发的对状态树的更改,接受 prevState和action两个参数,返回newState。
  • (prevState,action) => newSate

Store

  • store保存整个应用的state树
  • 通过getState()获取state
  • 通过dispatch()发送action
  • 通过subscribe()监听state的更改
  • 将root reducer函数作为入参传递给createStore()即可以获得Store

组织redux的流程

  • 首先设计全局state的数据结构
  • 设计actionTypes常量
  • 根据actionTypes书写actionCreators函数
  • 然后根据actionCreators的返回值,书写reducer函数
  • 有了reducer之后,createStore(reducer,initState)获取store对象
  • 然后用bindActionCreators将action和dispatch绑定在一起
  • 然后将状态修改函数分发给component(如果使用react-redux,使用Provider+ connect组织数据流,使用redux的话,封装render函数,在store.subscribe事件回调里使用)
  • -
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值