Javascript 待办事项清单反应&x2B;重演
如何在编辑状态下选择“假”变为“真”(或完全相反) [看起来您的帖子大部分是代码;请添加更多详细信息。看起来您的帖子大部分是代码;请添加更多详细信息。]Javascript 待办事项清单反应&x2B;重演,javascript,reactjs,redux,Javascript,Reactjs,Redux,如何在编辑状态下选择“假”变为“真”(或完全相反) [看起来您的帖子大部分是代码;请添加更多详细信息。看起来您的帖子大部分是代码;请添加更多详细信息。] import React from 'react' import shortid from 'shortid'; const ADD_TASK = 'ADD_TASK' const EDIT_STATUS = 'EDIT_STATUS' const TASK_DELETE = 'TASK_DELETE' const initialState
import React from 'react'
import shortid from 'shortid';
const ADD_TASK = 'ADD_TASK'
const EDIT_STATUS = 'EDIT_STATUS'
const TASK_DELETE = 'TASK_DELETE'
const initialState = {
tasks: []
};
const mainReducer = (state = initialState, action) => {
switch (action.type) {
case ADD_TASK: {
return {
...state,
tasks: [{
id: shortid.generate(),
task: action.task,
status: false
}, ...state.tasks]
}
}
case EDIT_STATUS: {
return {
}
}
default:
return state
}
}
export const addTask = task => ({type: 'ADD_TASK', task});
export const editStatus = id => ({type: 'EDIT_STATUS', id})
export default mainReducer;
有几种方法可以做到这一点,但看起来您需要在reducer中搜索逻辑以使此功能正常工作
虽然我不清楚是否完全实施。根据这个问题,我假设您想要在“编辑状态”操作的有效负载中提供的任务id的“真”和“假”之间切换任务的状态。据我所知,下面的代码可能是一个可能的实现
case EDIT_STATUS: {
return {
...state,
tasks: tasks.map(task => {
if(task.id == action.id) {
task.status = !task.status
}
return task
})
}
}
如何选择身份***
return {
... state,
tasks: state.tasks.map(t => (t.id === action.id
? {
...t,
status: !t.status,
} : t)),
};
case EDIT_STATUS: {
return {
...state,
tasks: tasks.map(task => {
if(task.id == action.id) {
task.status = !task.status
}
return task
})
}
}