Redux简介

Redux
Redux是 JavaScript 状态容器,提供可预测化的状态管理。
Redux是应用状态管理服务。虽然本身受到了Flux很深的影响,但是其核心概念却非常简单,就是 Map/Reduce中的Reduce。
redux的三大原则:
1.state是只读的
惟一改变state的方法就是触发action,action是一个用于描述已发生事件的普通对象。action是把数据从应用传到store的有效载荷。它是store数据的唯一来源。一般来说你会通过 store.dispatch() 将 action传到store。在redux中,改变state只能通过action。并且,每一个action都必须是Javascript Plain Object
2.使用纯函数来执行修改
为了描述action如何改变 state,你需要编写reducers。action只是描述了有事情发生了这一事实,并没有指明应用如何更新state。而这reducer要做的事情。reducer就是一个纯函数,接收旧的state和 action,返回新的state。之所以称作 reducer 是因为它将被传递array.prototype.reduce(reducer, ?initialValue) 方法。保持reducer纯净非常重要。永远不要在 reducer 里做这些操作:修改传入参数;执行有副作用的操作,如API请求和路由跳转;调用非纯函数,如 Date.now() 或 Math.random()。
3.单一数据源
整个应用的state被储存在一棵object tree中,并且这个object tree只存在于唯一一个store中。Store是把action、reducer联系到一起的对象,维持应用的state;提供getState()方法获取state;提供 dispatch(action) 方法更新 state;通过 subscribe(listener) 注册监听器;通过 subscribe(listener) 返回的函数注销监听器。redux 应用只有一个单一的 store。当需要拆分数据处理逻辑时,你应该使用reducer组合而不是创建多个 store。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值