Государство не установлено должным образом в NGXS
Функция входа в систему работает и отправляет, но состояние аутентификации остается "auth: {}", не уверен, что мне здесь не хватает..?
auth.model
export class AuthStateModel {
token?: string;
refresh_token?: string;
}
export class Login {
static readonly type = '[Auth] Login';
constructor(private email: string, private password: string) { }
}
export class Logout {
static readonly type = '[Auth] Logout';
}
в компоненте
public login(email, password) {
email = 'asd@asd.io';
password = 'qwerty';
this.store.dispatch(new Login(email, password));
}
auth.actions
@Action(Login)
login({ patchState }: StateContext < AuthStateModel >, { email, password }: Login) {
return this.authService.login(email, password).pipe(
tap(result => {
patchState({
token: result.token,
refresh_token: result.refresh_token
});
})
);
}
1 ответ
Вы определили @State декоратор, например,
@State<string[]>({
name: 'animals',
defaults: []
})
Взято с https://ngxs.gitbook.io/ngxs/concepts/state
Изменить: предыдущий ответ работал для меня, но еще не нашел причину, почему