redux更新数据的方法
时间: 2024-03-01 10:53:32 浏览: 144
在 Redux 中,更新数据的方法是通过 dispatch 发送一个 action 来触发 reducer 的执行,从而更新 state。
具体操作如下:
1. 在 action 中定义一个 type 属性,用于标识要执行的操作类型,同时可以传递一些参数给 reducer。
2. 在 reducer 中根据接收到的 action 的 type 属性,更新 state 的数据。
例如,假设我们要更新一个 todo 的状态,可以定义如下的 action 和 reducer:
```javascript
// 定义 action
const updateTodoAction = (id, completed) => ({
type: 'UPDATE_TODO',
payload: { id, completed },
})
// 定义 reducer
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
}
}
// 发送 action
dispatch(updateTodoAction(1, true))
```
上述代码中,我们定义了一个 updateTodoAction 函数,用于创建一个 type 为 'UPDATE_TODO' 的 action,同时传递一个 id 和 completed 参数给 reducer。在 reducer 中,根据接收到的 action 的 type 属性,更新 state 中指定 id 的 todo 的 completed 属性。最后,我们通过 dispatch 方法发送一个 updateTodoAction 的 action,从而触发 reducer 的执行,更新 state 中对应的数据。
阅读全文