Подробнее:
У меня есть компонент с именем header
. У меня есть меню, когда я на мобильном устройстве, у меня есть меню бургера.
Когда я нажал на это меню бургера, я установил состояние на true
, и меню стало открытым, когда я нажал на крестик, состояние стало false
, и меню закрылось.
Теперь проблема:
Если я изменяю компонент, всегда сохраняю предыдущее состояние, если меню открыто и нажимаю, например, home
, то на самом деле оно находится на true
, а у меня дома меню открыто, и я не хочу этот комплимент.
У вас есть совет?
Смотри код:
// ACTION :
export const setBurgerMenu = createAction(
SET_BURGER_MENU,
() => ({})
);
export const getBurgerMenu = () => {
return dispatch => {
dispatch(setBurgerMenu());
};
};
// REDUCER :
// Initial state contain isOpenMenu at false
const reducer = handleActions({
[SET_BURGER_MENU]: (state) => {
return {
...state,
isOpenMenu: !state.isOpenMenu
};
},
[BREADCRUMBS_WILL_UPDATE]: (state) => {
return {
...state,
isWillUpdate: true
};
},
[BREADCRUMBS_UPDATED]: (state) => {
return {
...state,
isWillUpdate: false
};
},
[CLEAR_USER_DATA]: () => {
return {
...initialState
};
}
}, initialState);