@animalbtw

Как добавлять id в массив lists в redux?

При каждом вызове я хотел бы, чтобы в массив lists добавлялась строка id, получаемая из action.payload.
Этот код создает новый массив lists при вызове, тем самым перетирая значение, которое там уже было:

const initialUserState = {
    borders:[{ title: '', boardId: '1' ,lists: [] }]
}
export const boardsReducer = (state = initialUserState, action) => {
    switch (action.type)
    {
        case 'ADD_LIST':
            const {boardId, id} = action.payload
            const board = state[boardId]
            return { 
                      ...state,
                      [boardId]: { ...board, ['lists']: [id] }
                   }
    }
}
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
0xD34F
@0xD34F
case 'ADD_LIST':
  const { boardId, id } = action.payload;
  return {
    ...state,
    borders: state.borders.map(n => n.boardId === boardId
      ? { ...n, lists: [ ...n.lists, id ] }
      : n
    ),
  };
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
25 апр. 2024, в 11:02
5000 руб./за проект
25 апр. 2024, в 10:42
150000 руб./за проект
25 апр. 2024, в 10:41
2000 руб./за проект