Redux 学习笔记

Redux 学习笔记
Redux 是 JavaScript 状态容器,提供可预测化的状态管理。

State

整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中。State 是只读的,唯一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。

Action

Action就是普通对象,因此它们可以被日志打印、序列化、储存、后期调试或测试时回放出来。

Store

Store对象保存应用的状态并提供一些帮助方法来存取状态,分发状态以及注册监听。

store.dispatch(action) 当store接收到action后,会将previousState和action自动转发给reducer, reducer处理完成相应的逻辑后将新修改的newState返回给store。store接收到reducer传来的新的state后会替换掉原来旧的state,从而实现store里的state的更新。

Reducer

为了描述 action 如何改变 state tree ,使用纯函数来执行修改,需要编写 reducers。reducer必须是纯函数。纯函数指的是,给定固定的输入,就一定会有固定的输出。同时不会有任何副作用。

reducer只有一个 ,随着应用变大,可以把它拆成多个小的 reducers,分别独立地操作 state tree 的不同部分,用combineReducers 将reducer整合为rootReducer 被store操作。

ReactComponents

React通过组件的思想,将界面拆分成一个个可复用的模块,每一个模块就是一个React 组件。一个React 应用由若干组件组合而成,一个复杂组件也可以由若干简单组件组合而成。


总之在Redux中,Component中触发action,通过ActionCreator,告知store,store再将action发给reducer处理,即state的“输入——变化——输出”,store将获得的state结果,传递给Component,Component根据结果渲染页面,呈现在前端。

-Redux数据流图
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值