@Durilka96

Как добавить состояние по ключу, а не всем элементам?

Вот так вызываю для обновления состояния, но хочу чтобы добавлялось не всем ключам, а только одному, где нужно правильно ключ обозначить конкретный?
// обновление состояния
dispatch(setParameterList(newCheckedCountry));
//reducer
case SET_PARAMETER_LIST:
            return {
                ...state,
                parameterCountry: action.payload,
                parameterPosition: action.payload,
                parameterNewsAgency: action.payload,
            }
//выполняется добавление всем ключам parameterCountry, parameterPosition, parameterNewsAgency, а хотелось бы только одному parameterCountry как это реализовать?
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Kostenitskiy_A
@Kostenitskiy_A
Как я понял из описания вопроса. Тебе нужно добавить элемент в массив parameterCountry, но добавление проходит во все массивы. В данном случае тебе нужно исправить кейс reducer'а
case SET_PARAMETER_LIST:
      const newParameterCountry = [...state.parameterCountry];
      newParameterCountry.push(action.payload);
      return {
        ...state,
        parameterCountry: newParameterCountry,
      };

2 строка - создаёшь новый массив и заполняешь его элементами из предыдущего массива parameterCountry
3 строка - добавляешь элемент в созданный массив
и после возвращаешь новый объект уже с новым состоянием
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы