Angular 带有 NGRX 的 AuthGuard
Angular AuthGuard with NGRX
我正在尝试将 AuthGuard 与 NGRX 一起使用,但我在这条路线上总是得到未定义:
当我查看 Store 时,estaAutenticado 是正确的,但我不能准时到达,因为它是异步的?
我的守卫:
return this.store.pipe(
select(fromAuth.getEstaAutenticado ),
map(authed => {
console.log(authed) // <---- Always return undefined
if (!authed) {
this.router.navigate(['/'])
return false;
}
return true;
})
);
}
```
// Reducer
export interface State {
usuario: Usuario,
estaAutenticado: boolean,
erro: string
}
export const initialState: State = {
usuario: null,
estaAutenticado: false,
erro: ''
};
export const getUsuario = (state: State) => state.usuario;
export const getEstaAutenticado = (state: State) => state.estaAutenticado;
export const getErro = (state: State) => state.erro;
已解决,我缺少 selectorFeature
export const selecionaState = createFeatureSelector<State>('autenticacao');
我正在尝试将 AuthGuard 与 NGRX 一起使用,但我在这条路线上总是得到未定义:
当我查看 Store 时,estaAutenticado 是正确的,但我不能准时到达,因为它是异步的?
我的守卫:
return this.store.pipe(
select(fromAuth.getEstaAutenticado ),
map(authed => {
console.log(authed) // <---- Always return undefined
if (!authed) {
this.router.navigate(['/'])
return false;
}
return true;
})
);
}
```
// Reducer
export interface State {
usuario: Usuario,
estaAutenticado: boolean,
erro: string
}
export const initialState: State = {
usuario: null,
estaAutenticado: false,
erro: ''
};
export const getUsuario = (state: State) => state.usuario;
export const getEstaAutenticado = (state: State) => state.estaAutenticado;
export const getErro = (state: State) => state.erro;
已解决,我缺少 selectorFeature
export const selecionaState = createFeatureSelector<State>('autenticacao');