Всем привет.
Есть у меня проблема.
При клике на кнопку back в браузере, у меня меняется урла и диспатчиться екшн
Код
Effect
useEffect(() => {
const activeStep = screenSteps[screenSteps.length - 1];
if (
activeStep.localPath !== router.query.localPath &&
router.query.localPath
) {
dispatch(updateScreenStep('BACK'));
}
}, [router.query]);
Action и Reducer
export const updateScreenStep = (action: Action, stepData?: IStep) => ({
type: ResearchActionTypes.UPDATE_SCREEN_STEP,
payload: {
stepData,
action,
},
});
export const reduceUpdateScreenStep = (
state: IState,
payload: IScreenStepData
): any => {
const { action, stepData } = payload;
const newScreenData = [...state.screenSteps];
if (action === 'NEXT') newScreenData.push(stepData);
else newScreenData.pop();
return newScreenData;
};
Все работает хорошо, но у меня в проекте также подключен persist store и его екшн (__NEXT_REDUX_WRAPPER_HYDRATE__) имеет старый стор и перезаписывает новый стор на старый. Я думаю, это потому что страница перезагружается.
Возможно кто-то знает как это можно пофиксить?
Мой екшн с обновленным стором
Persist со старым который перезаписывает