Witam, mam problem ze zmianą stanu w reducer, mam taki kod który działa, ale chyba nie tak powinienem zmieniać stan, proszę o pomoc. Chodzi o case DISPALY_DETAIL. Chodzi o to, że może być tylko jeden element true, wiec zmieniam wszystkie na false i potem nadpisuje ten wybrany na true.
const initItem = {
items: [
{
title: 'Get out of bed',
id: 1,
selected: true,
detail: {
time: '16:30',
date: '24.08.2020'
}
},
{
title: 'Walk the dog',
id: 2,
selected: false,
detail: {
time: '12:30',
date: '19.09.2020'
}
}
],
}
const itemReducer = (state = initItem, action) => {
switch (action.type) {
case 'DELETE':
console.log(action);
let newItems = state.items.filter(item => {
return item.id != action.id
})
return {
...state,
items: newItems
}
case 'DISPLAY_DETAIL':
console.log(action.id);
const newDetail = state.items.map(item => {
item.selected = false;
if (item.id === action.id) {
item.selected = true;
}
})
}
return state
}
export default itemReducer
proszę o pomoc