отправка действий дважды с разными реквизитами - PullRequest
0 голосов
/ 11 апреля 2020

Добрый день,

Хотелось бы узнать, могу ли я выполнить одно и то же действие два раза с разными параметрами.

Делая это, в результате я получаю дважды значение2:

    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 }
})

)

1 Ответ

1 голос
/ 11 апреля 2020

Да, вы можете, если нет мутации, она работает так, как вы ожидаете.

Пример кода выглядит хорошо. Можете ли вы поделиться декларацией IFilter? Затем я могу проверить его локально и дать вам обновление.

В редукторе я бы предложил обрабатывать xRequestSuccess вместо xRequest. Какова цель обработки xRequest там?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...