redux更新数据的方法
时间: 2024-03-01 10:53:32
浏览: 26
在 Redux 中,更新数据的方法是通过 dispatch 发送一个 action 来触发 [reduce](https://geek.csdn.net/educolumn/05febd80e63878591f20940dc66657db?spm=1055.2569.3001.10083)r 的执行,从而更新 state。
具体操作如下:
1. 在 action 中定义一个 type 属性,用于标识要执行的操作类型,同时可以传递一些参数给 [reduce](https://geek.csdn.net/educolumn/05febd80e63878591f20940dc66657db?spm=1055.2569.3001.10083)r。
2. 在 [reduce](https://geek.csdn.net/educolumn/05febd80e63878591f20940dc66657db?spm=1055.2569.3001.10083)r 中根据接收到的 action 的 type 属性,更新 state 的数据。
例如,假设我们要更新一个 todo 的状态,可以定义如下的 action 和 [reduce](https://geek.csdn.net/educolumn/05febd80e63878591f20940dc66657db?spm=1055.2569.3001.10083)r:
```javascript
// 定义 action
const updateTodoAction = (id, completed) => ({
type: 'UPDATE_TODO',
payload: { id, completed },
// 定义 [reduce](https://geek.csdn.net/educolumn/05febd80e63878591f20940dc66657db?spm=1055.2569.3001.10083)r
const todoReducer = (state, action) => {
switch (action.type) {
case 'UPDATE_TODO':
return state.map(todo => {
if (todo.id === action.payload.id) {
return { ...todo, completed: action.payload.completed }
return todo
default:
return state
```