如何从具有 ngrx 效果的状态中的不同减速器中获取 2 个单独的值?

时间:2021-07-30 19:42:51

标签: angular ngrx ngrx-effects

我知道如何从同一个 reducer 中获取一个或多个值

  uploadFetch = createEffect(() => {
    return this.actions.pipe(
      ofType(rdxUploadFetch),
      withLatestFrom(this.store.select(getTestImageImageId)),
      switchMap(ac => axiosInstance.post('/api/products', ac[2]).then(res => {
        return {
          type: RDX_UPLOAD_FETCH_SUCCESS
        }
      }))
    )
  })

但是我们如何实现一个 double withLatestFrom 来返回来自 2 个不同 reducer 的 2 条数据?或者我们如何创建一个选择器来从 2 个不同的 reducer 返回 2 条数据?

1 个答案:

答案 0 :(得分:0)

  uploadFetch = createEffect(() => {
    return this.actions.pipe(
      ofType(rdxUploadFetch),
      withLatestFrom(this.store.select(getTestImageImageId), this.store.select(getKeesToken)),
      map(ac => {
        console.log(ac);
        return {
          type: RDX_UPLOAD_FETCH_SUCCESS
        }
      })
    )
  })