Я определил действие, в котором я получаю данные аутентификации из серверной части и исправляю их до состояния:
@Action(Login)
login({ patchState }: StateContext<AuthStateModel>, { payload }: Login) {
return this.loginService.loginUser(payload).pipe(tap((result: { token: string }) => {
patchState({ token: result.token, username: payload.userName });
}));
}
И затем сохраняю их в localStorage:
NgxsStoragePluginModule.forRoot({
key: [
'auth.token',
]
})
Вmy login component
: this.store.dispatch([new Login(this.loginForm.value)]);
Теперь в моем token-interceptor
я хочу получить доступ к фактическому значению токена, хранящемуся в localStorage, используя Storage plugin
:
const token = this.store.selectSnapshot<string>(AuthState.token);
Это всегда возвращает предыдущее состояние.Хранилище обновляется, но обновленное значение никогда не возвращается с помощью selectSnapshot.Так каков наилучший способ получить доступ к фактическому (обновленному / next state
) значению из магазина?