Я хочу переключить меню, первый щелчок расширяет меню, и я получаю следующее состояние, как и ожидалось.
{menuItem = {title: "Dashboard", urlFragment: "dashboard"} //Toggle menu
Когда я снова нажимаю на меню, подписка вызывается два раза с текущее и предыдущее состояние. Таким образом, он останавливается на отладчике два раза со следующими состояниями. Я уже пробовал метод release () на селекторе. это не сработало.
{menuItem = {title: "Userpage", urlFragment: "Userpage"} //previous visited menu
{menuItem = {title: "Dashboard", urlFragment: "dashboard"} // My toggle menu
Есть ли способ очистить кеш и не получить предыдущее состояние? Я получаю это, вероятно, потому что мое состояние не меняется.
this.subscriptions.push(this.store.pipe(select(getSelectedMenuItem)).subscribe(menuItem => {
if (menuItem) {
if (menuItem.iconCssClass === 'icons8-settings') {
this.showConfigurationMenu = !this.showConfigurationMenu;
}
else{
this.showConfigurationMenu=false;
}
debugger;
}
}
это мой селектор
export const getSelectedMenuItem = createSelector(getMenu, (state: MenuState): IMenuItem => {
if (state === 'loading') {
return null;
}
return state.selectedMenuItem;
});