react-redux
宁静致远 7/19/2020 react
# react-redux
# 基本概念
store state action reducer
redux 三大核心
- 单一数据源
- state 是只读的
- 使用纯函数来修改
# 组成--state状态
类型:
- ajax 数据状态----
服务器返回的state
- 组件UI展示层状态,受控组件----
关于当前组件的state
- app级全局状态,loading----
全局的state
# 组成--action 事件
action是把数据从应用传到store的载体,它是store数据的唯一来源,通过store.dispatch()将action传递给store
action的特点:
- action 本质就是一个
javascript的普通对象
- action对象内部
必须要有一个type属性
来表示要执行的动作 - 多数情况下,action会被定义成一个字符串
- 除了type字段外,action结构随意进行定义
只是描述了有事情要发生,并没有描述如何是更新state
# 组成--reducer
reducer本质就是一个函数(纯函数
),它用来响应发送过来的actions
,然后经过处理,把新state发送给store
注意:
在reducer函数中,必须要有return 返回值,这样store才能接收到值
函数会接收两个参数,第一个参数是初始化state,第二个参数是action
# 组成--store
store 就是把store 和action联系到一起
的对象,通过createStore来构建store
主要职责:
- 维持应用的state
- 提供getState()方法获取state
- 提供dispatch方法发送action
- 通过subscribe()来注册监听
- 通过subscribe()返回值来注销监听