vanyahuk
@vanyahuk

Каким способом можно полностью очистить react-redux хранилище при изменении url?

Каким способом можно полностью очистить react-redux хранилище при изменении url?
  • Вопрос задан
  • 1202 просмотра
Пригласить эксперта
Ответы на вопрос 3
@kacheleff
fullstack developer
1. Нужно отследить изменение url. Вариант реализации зависит от того, какой роутер используется, если реакт-роутер, то можно использовать хок
2. При изменении url нужно диспачить какой-то экшн, обрабатывать его, например, так
Ответ написан
@edk55
Один из вариантов - диспатчить событие при изменении url, а в главном reducer'е слушать это событие и ставить state равным undefined. Тогда в редьюсеры попадет state, равный undefined, и проставятся дефолтные значения.

import appReducer from '../reducers';

const rootReducer = (state, action) => {
  if (action.type === 'URL_CHANGED') {
    state = undefined;
  }

  return appReducer(state, action);
};
Ответ написан
Комментировать
@real2210
import { combineReducers } from 'redux';

import someone from './someone';
import someoneT from './someoneT';

export const rootReducer = (state, action) => {
  if (action.type === 'URL_CHANGED') {
    state = {}
  }

  return appReducer(state, action)
}

const appReducer = combineReducers({
  someone,
  someoneT
})
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект