gpt4 book ai didi

javascript - 如何解决 Angular 无效的 Action ?

转载 作者:太空狗 更新时间:2023-10-29 17:53:21 25 4
gpt4 key购买 nike

enter image description here

core.js:1671 ERROR Error: Effect "AuthEffect.login$" dispatched an invalid action: undefined
at reportInvalidActions (effects.js:219)
at verifyOutput (effects.js:207)
at MapSubscriber.project (effects.js:273)
at MapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/map.js.MapSubscriber._next (map.js:35)

当我使用 ngrx 访问我的服务时出现以下错误。这是我的代码

@Injectable()
export class AuthEffect {
@Effect()
login$ = this.actions$.pipe(
ofType(AuthActionsTypes.LOGIN),
map((action: Login) => action.payload),
switchMap((auth: Authenticate) => {
return this.authService.login(auth).pipe(
map(user => this.store.dispatch(new LoginSuccess({user}))),
catchError(error => of(new LoginFailure(error)))
);
})
);

当我使用 this.store 时这一行出现问题,如果我使用

  map(user => this.store.dispatch(new LoginSuccess({user}))),

如果我使用 new LoginSuccess({user}) 它工作正常。为什么我无法发送action 从这里开始

最佳答案

您不必自己进行调度。从效果“返回”的每个 Action 都将由@ngrx/effects 分派(dispatch)。

map(user => new LoginSuccess({user}))

附带说明一下,如果您不发送必须使用的操作

@Effect({ dispatch: false})

如果您将 dispatch: false 添加到效果中,您的代码片段也应该有效,但最好只返回操作而不是自己分派(dispatch)它。

关于javascript - 如何解决 Angular 无效的 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51719342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com