Как поменять значение false на true в React, reducer
Делаю TO-DO-LIST с помощью React + Redux, и не могу понять, как правильно написать CASE что бы при нажатии на задание, у него менялось значение TRUE на FALSE или наоброт с FALSE на TRUE.
import React from 'react'
import shortid from 'shortid';
const ADD_TASK = 'ADD_TASK'
const EDIT_STATUS = 'EDIT_STATUS'
const initialState = {
tasks: [],
chooseCurrentTaskStatus: 'all'
};
const mainReducer = (state = initialState, action) => {
switch (action.type) {
case ADD_TASK: {
let newTask = {
id: shortid.generate(),
task: action.task,
status: false
}
return {
...state,
tasks: [newTask, ...state.tasks]
}
}
case EDIT_STATUS: {
return {
**ЧТО НАПИСАТЬ ЗДЕСЬ?**
}
}
default:
return state
}
}
export const addTask = task => ({type: 'ADD_TASK', task});
export const editStatus = status => ({type: 'EDIT_STATUS', status})
export default mainReducer;
Ответы (1 шт):
Автор решения: ceri
→ Ссылка
Советую почитать документацию https://redux.js.org/basics/example
и вот пример, который решает вашу проблему.
case 'TOGGLE_TODO':
return state.map(todo =>
todo.id === action.id ? { ...todo, completed: !todo.completed } : todo
)