vanyahuk
@vanyahuk

Можно как-то получить первый initialState redux в реакте?

Можно как-то получить первый initialState redux в реакте?
например в меня есть фильтр автомобилей и одно свойство зависит от другого
т.е. когда я меняю type_transport_id мне нужно сбросить brand_id, automodel_id, year, и body_id к начальному состоянию, но когда меняю brand_id то нужно сбросить только automodel_id, year, и body_id и т.д.
brand_model : {

		type_transport_id: null,

                brand_id: null,

		automodel_id: null,

		year: null,

		body_id: null,
	}
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега Redux
Frontend Developer
const initialState = {
  type_transport_id: null,
  brand_id: null,
  automodel_id: null,
  year: null,
  body_id: null,
};

export default function model(state = initialState, action) {
  const { type, payload } = action;

  switch(type) {
    case SET_TYPE:
      return {
        ...initialState,
        type_transport_id: payload,
      };
 
    case SET_BRAND:
      return {
        ...state,
        brand_id: payload,
        automodel_id: null,
        year: null,
        body_id: null,
      };

    default:
      return state;
  }
}


Либо кейс SET_BRAND можно еще так представить:
case SET_BRAND:
  return {
    ...initialState,
    type_transport_id: state.type_transport_id,
    brand_id: payload,
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы