action
在 store 文件夹 里创建 actions 文件夹
使用函数来创建 action,通过传参把不一样的数据传递过去就好了,我们把这个创建 action 的函数叫做 actionCreator
返回一个 action 对象
export const increment = (payload) => ({ type: 'INCREMENT', payload, }) export const decrement = (payload) => ({ type: 'DECREMENT', payload, })
reducer
reducer:本质上是一个函数,作用是根据 action 来更新状态,有如下特点
- 函数签名为:(prevState,action) => newState
- 接收上一次的状态和 action ,根据 action 的类型执行对应的操作,最终返回新的状态
- 原则:不要在reducer 函数内部直接修改 state
export default function counter(state = 10, action) {
// 处理各种各样的 action
switch (action.type) {
case 'INCREMENT':
return state + action.payload
case 'DECREMENT':
return state - action.payload
default:
// 记得要有默认返回的处理
return state
}
}