下午好,
我想知道我是否可以用不同的参数两次执行相同的动作。
这样做,实际上我收到了两次value2:
this.store.dispatch(xRequest({ filter: value1 }))
this.store.dispatch(xRequest({ filter: value2 }))
xRequest$ = createEffect(() => {
return this.actions$.pipe(
ofType(xRequest),
concatMap(({ filter }) => {
return this.http.getResult(filter).pipe(
map((result: any) => {
return xRequestSuccess({ result, filter })
})
)
})
)
})
export const xRequest = createAction('[x] x request', props<{ filter: IFilter }>())
const xReducer = createReducer(
initialState,
on(xRequest, (state, { filter }) => {
return { ...state, filter }
})
)
答案 0 :(得分:1)
是的,如果没有突变,它可以按预期工作。
代码示例看起来不错。
您是否可以分享IFilter
的声明?然后,我可以在本地对其进行测试并为您提供更新。
在减速器中,我建议处理xRequestSuccess
而不是xRequest
。在这里处理xRequest
的目的是什么?