обновление массива неизменяемых объектов, редукс - PullRequest
0 голосов
/ 07 сентября 2018

Я получаю сообщение об ошибке «Нарушение инварианта: попытка получить кадр для индекса вне диапазона NaN» из-за неправильного назначения или отправки пустого массива из редуктора. Я пытаюсь обновить 3 поля: state.items [index] .status, state.items [index] .statusUpdatedOn и state.items [index] .statusUpdatedBy.

Так как он вложенный, я пытаюсь обновить, как показано ниже в моем редукторе. Похоже, что-то не так с кодом, который я не могу выяснить:

case ActionTypes.UPDATE_ITEM_STATUS:
  var index = state.items.findIndex((item) => item.id === action.payload.id)
  return { ...state,
    items: {
      ...state.items,
      [index]:{
        ...state.items[index],
        status: action.payload.newStatus,
        statusUpdatedOn: action.payload.statusUpdatedOn,
        statusUpdatedBy: action.payload.statusUpdatedBy
      }
    },
    isLoading: false,
    errMess: null
  }
  break;

пока мой объект состояния имеет элементы:

  items: [],
  errMess: '',
  isLoading: false,

Пожалуйста, помогите мне исправить код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...