Редукс магазин формы с использованием спреда - PullRequest
0 голосов
/ 11 сентября 2018

В настоящее время мое состояние самоопределяется. Я пытаюсь сделать это, чтобы он не перекрывал массив данных. Мне нужно получить доступ к определенному индексу на данных. Объект внутри массива данных добавляется на основе шагов компонента. Но когда происходит ОБНОВЛЕНИЕ, мне нужно делать свои спреды по определенному индексу массива данных, не изменяя его. Как я могу сделать это с тем, что я получил. Я знаю, что я рядом.

const initialState = {
      index: 0,
      data: [{}],
    }; 



const reducer = (state = initialState, action) => {
  switch (action.type) {
  case UPDATE: {
      return {
        ...state,
        data: [{
            ...state.data[state.count],
            [action.name]: { value: action.value },
          }],
      };
    }
}

1 Ответ

0 голосов
/ 11 сентября 2018

Вы переопределяете state.data каждый раз, когда происходит ОБНОВЛЕНИЕ.То, что вы ищете, выглядит примерно так:

const initialState = {
    index: 0,
    data: [{}],
};

const reducer = (state = initialState, action) => {
    switch (action.type) {
        case UPDATE: {
            return {
                ...state,
                data: state.data.map((value, index) => {
                    if (index === state.count) {
                        return {
                            ...state.data[state.count],
                            [action.name]: { value: action.value },
                        }
                    }
                    return value;
                })
            };
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...