redux 中文文档 https://www.redux.org.cn/
redux官网 https://redux.js.org/
所谓的状态管理,就是对应用程序中的数据进行管理。
理念:凡是数据流管理混乱的项目,几乎都上不了线。好的项目,必须有非常良好的数据流管理。
如何使用Redux?记住“3个3”。
- 第1个三:3个api,createStore、combineReducers、applyMiddleware
- 第2个三:3个特点,store单一数据源、store只读的、只能通过reducer纯函数来修改store。
- 第3个三:3个概念,store、action、reducer。
基本概念:
- state 包含所有数据,用来给store提供数据
- store 就是状态管理数据,可以被React共享的数据,数据容器,保存数据的地方
- action 是一种信号,可以用来修改state的信号,固定格式:{type,payload},可以这样理解,type是邮件标题,payload是邮件内容
示例:在src目录下新建store文件夹,新建index.js
// store/index.js
import { createStore } from 'redux'
// 定义在redux中的数据,可被Reac组件共享
const initState = {
count: 1,
msg: 'hello world'
}
// state参数,就是状态管理数据,可以被React共享的数据
// action是一种信号,可以用来修改state的信号
// action的格式是固定的{type,payload}
function reducer(state = initState, action) {
return state
}
const store = createStore(reducer)
export default store
在src下新建目录views,good,GoodList.js
// views/good/GoodList.js
export default props => {
console