Не могу понять, как добавить новый элемент идеи с несколькими объектами страницы. Кроме того, когда я добавляю новый элемент идеи с уникальным идентификатором ... мне также необходимо объединить объекты страницы с существующим элементом идеи. Как бы я отфильтровал с помощью оператора распространения, чтобы проверить, существует ли элемент идеи, тогда объекты конкатат страницы еще добавят новый элемент?
Вот пример моих данных по умолчанию для структуры:
ideaID1: { 0:{title:'first', desc:'abc'}
1:{title:'second', desc:'lmn'}
2:{title:'third', desc:'pqr'}
}
ideaID2: { 0:{title:'first', desc:'abc'}
1:{title:'second', desc:'pqr'}
2:{title:'third', desc:'lmn'}
}
Сначала я хочу добавить ideaID1 (уникальный идентификатор), а затем получу 0, 1, 2 страницы для этой идеи, когда пользователь сохранит страницу. Поэтому мне нужно будет объединить эти страницы в зависимости от того, к какой идее они принадлежат. Может ли кто-нибудь помочь мне с редуктором, используя оператор распространения, чтобы добавить новую идею, а затем добавить страницы к этому элементу идеи, если он существует ... если не создать новое?
Я получаю следующую полезную нагрузку и записал следующий редуктор
{ideaID: 1, pagePostion: 0, title:'any', desc: 'abc'}
{ideaID: 1, pagePostion: 1, title:'any', desc: 'per'}
case 'ADD_IDEA':
return {
...state,
[action.payload.ideaid]:{
[action.payload.pagePosition]: [...action.payload]
}
}
Как мне соединить вторую полезную нагрузку, а также проверить, существует ли ideaID, и затем присоединиться к ней:
return { ...state, { ...state[action.ideaid],
[action.payload.pagePosition]: [...action.payload] } }
А что, если ideaID не найден?