-
4 votesanswersviews
ngrx效果:由其他效果立即处理的一个效果调度的动作是什么?
我有一个带有四个ngrx动作的Angular(2)应用程序: 开始 未由reducer处理(无状态更改) ngrx Effect调用异步任务并映射到SUCCESS或ERROR 成功 由reducer处理 ngrx效果映射到ADVANCE ADVANCE 不由reducer处理 ngrx效果导航到其他路线 错误 由reducer处理 无效果 The... -
5 votesanswersviews
为什么必须ngrx / redux效果返回动作?是否正在使用像榆树这样的不良行为?
我正在使用带有Angular和ngrx / store和ngrx / effects的redux风格的状态管理设计 . 每当我不从效果中返回动作时,我都会收到错误: Cannot read property 'type' of undefined 我研究了这个问题,发现在榆树架构中有一种叫做“noop”的动作,当你不想用你的效果链接另一个动作时,你可以调用任何东西 . 在任何地方召唤这个noop... -
5 votesanswersviews
如何在@ngrx / effects中等待2个动作
可以效果等待Promise.all这两个动作吗?例: @Effect() pulic addUser() { return this.actions$.ofType(user.ADD) .switchMap(() => { return this.userService.add(); }) .map(() => { ... -
1 votesanswersviews
ngrx存储选择器无需操作即触发效果请求
使用Angular 6和NGRX . 我在效果中使用商店选择器来获取请求的数据 . 在我第一次调用动作 SignalAction.LOAD_SIGNAL 之后,如果在此之后的任何时候存在更改,导致选择器 getRequestParams 更新 . 触发请求时不会触发操作 . 我应该采用不同的方式处理这个问题吗?我只希望可观察流完全在一个动作上运行 . 我在商店选择器之后尝试了 take(1) 但是... -
0 votesanswersviews
NGRX Effects在错误中破坏app,如何处理错误?
我在我的应用程序中使用NGRX效果 . 当它失败时,它似乎打破了流 . @Effect() createUser$: Observable<Action> = _action$.ofType(fromUser.CREATE_NEW_USER_ACTION) .pipe( mergeMap((action: fromUser.CreateNewUserAction) =>... -
0 votesanswersviews
如何从Observable链中的Observable获取字符串?
我有ngrx效果,它处理登录操作 . 最后一个 switchMap 返回一个令牌字符串,该字符串应该传递给下一个observable . 当我启动应用程序时,最后一个 switchMap 确实返回一个令牌字符串,但下一个 mergeMap 运算符只接收了令牌字符串的第一个字符 . 如何将完整的字符串传递给mergeMap运算符?也许我应该使用其他一些运算符来实现这一点,但是哪一个呢? @Effec... -
5 votesanswersviews
已调用Angular ngrx Firebase OAuth操作,但效果不是
当我使用此效果注销时,我的oauth设置存在问题: @Effect() logout: Observable<Action> = this.actions.ofType(UserActions.LOGOUT) .switchMap(() => Observable.of(this.afAuth.auth.signOut())) .map(() => n... -
0 votesanswersviews
使用CanActivate guard中的store.dispatch
在我的示例Angular 2应用程序中,我使用ngrx / store来实现redux设计模式 . 我在我的应用程序中实现了CanActivate guard,下面是相关代码 canActivate(route: ActivatedRouteSnapshot, router: RouterStateSnapshot): Observable<boolean> { this.s... -
19 votesanswersviews
在lettable rxjs运算符的组合管道中捕获错误
我们刚刚将其中一个应用程序升级到Angular 5,并开始转换为rxjs v5.5中引入的lettable operators . 因此,我们使用 .pipe() 运算符将可观察的管道重写为新语法 . 我们之前的代码看起来像这样,在 .switchMap() 中有一个 .catch() ,如果抛出错误就不会中断效果的运行 . @Effect() loadData$ = this.actions$ ... -
1 votesanswersviews
rxjs map运算符在switchMap之后没有在管道中触发
当谈到rxjs时我觉得自己非常精明,但我无法弄清楚我做错了什么 . 我正在尝试通过将用户登录转换为效果来学习ngrx . 我的效果是正确触发,并从我的服务器返回正确的令牌响应(通过登录控制台验证),但 Map 操作员永远不会在我的效果中被触发 . 这是我的效果代码: @Injectable() export class UserEffects { constructor( private... -
9 votesanswersviews
如何使用角度路由器防护装置附加ngrx / store
我是ngrx / store的初学者,这是我使用它的第一个项目 . 我已经使用ngrx / store成功设置了我的角度项目,并且我可以在初始化主要组件后调度一个加载操作,如下所示: ngOnInit() { this.store.dispatch({type: LOAD_STATISTICS}); } 我已设置一个效果,以便在调度此操作时加载数据: @Effect() loadStatistik... -
2 votesanswersviews
角度路由器防护和ROUTER_NAVIGATION效果顺序
有一个简单的(Angular 4)路由保护,它等待从后端加载一些数据: @Injectable() export class ContractsLoadedGuard implements CanActivate { constructor(private store: Store<State>) { } waitForData(): Observable<bo... -
0 votesanswersviews
Angular ngrx:异步canActive Guard必须从其他地方取消
正如 Headers 所说:有没有办法告诉路由器取消其当前导航? 情况如下: 路线保卫派遣行动 . 效果根据该操作执行异步调用 . 完成后,异步调用将在属性上调度存储更新操作 . 守卫订阅了该 property 的选择者(比如"property$") 一旦该属性$更新,警卫决定是否允许导航 . 此方法仅在效果的异步操作请求的资源正确返回时才起作用(HTT...