// 创建reducer函数
export const Todo = (state = todoState, action) => {
console.log('action.payload', action)
// 解构payload
const { payload } = action
console.log('action', action)
switch (action.type) {
// 删除数据的action
case 'todos/del':
return state.filter(it => it.id !== action.payload)
// 修改状态
case 'todos/chageState':
return state.map(it =>
// if (it.id === payload.id) {
// return { ...it, isDone: payload.isDone }
// } else {
// return it
// }
it.id === payload.id ? { ...it, isDone: payload.isDone } : it
)
// 添加任务
case 'todos/addTask':
return [...state, { id: Date.now(), name: payload, isDone: false }]
// 改变全选的选中状态
case 'todos/chageStateAll':
// return state
return state.map(it => { return { ...it, isDone: payload } })
// 更新数据
case 'todos/update':
// return state
return state.map(it => {
if (it.id === payload.id) {
return { ...it, name: payload.name }
} else {
return it
}
})
default:
return state
}
}
删除数据,修改数据,改变全选状态的简单总结
最新推荐文章于 2022-01-09 19:03:04 发布