首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ngrx效果中同时访问状态和有效负载数据

在ngrx效果中同时访问状态和有效负载数据
EN

Stack Overflow用户
提问于 2019-02-08 22:20:13
回答 1查看 630关注 0票数 1

我在ngrx状态保存了一些小部件实例(第三方非角库),我需要通过用户操作用新的参数更新小部件。在这种情况下,我使用新的小部件参数作为有效负载来分派操作。

在没有额外的私有字段的情况下,是否有可能在相同的有效位置获得有效负载和状态数据?

代码语言:javascript
复制
@Effect({ dispatch: false })
public updateStatistics: Observable<webChatActions.Actions> = this._actions.pipe(
    ofType(Types.UPDATE_STATISTICS),
    map((action: demoActions.UpdateStatistics) => action.payload),
    tap((payload: StatisticsOptions) => console.log(payload)),
    withLatestFrom(this._store),
    map(([action, state]): DemoEffects => state['web-chat']),
    tap((state: WebChatState) => {
    // here I have my state, but also I need payload from tap above
    }),
    catchError((error: Error) => {
        this._logger.error('unable to update feedback widget', error);
        return of(new webChatActions.Service.ShowChatError(error));
    })
);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-09 01:25:58

移除map即可拥有它。

代码语言:javascript
复制
@Effect({ dispatch: false })
public updateStatistics: Observable<webChatActions.Actions> = this._actions.pipe(
    ofType(Types.UPDATE_STATISTICS),
    map((action: demoActions.UpdateStatistics) => action.payload),
    tap((payload: StatisticsOptions) => console.log(payload)),
    withLatestFrom(this._store),
    map((): DemoEffects => state['web-chat']),
    tap(([action, state]) => {
      // action.payload 
      // tate['web-chat']
    }),
    catchError((error: Error) => {
        this._logger.error('unable to update feedback widget', error);
        return of(new webChatActions.Service.ShowChatError(error));
    })
);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54594372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档