Можно ли в эпиках взять селектор из реселекта? - PullRequest
1 голос
/ 07 мая 2020

Я использую response-observable и повторный выбор в моем проекте React. Все, что я хочу достичь, это что-то вроде этого:

// SELECTORS

export const getItem = createSelector(getItemsState, state => state.item);

и теперь в Epics я хочу сделать что-то вроде этого:

const addItem$: Epic = (action$: Observable<Actions>, state$) =>
  action$.pipe(
    filter(action => action.type === 'ADD_ITEM'),
    withLatestFrom(state$.select(getItem)), // Just use there my selector which is written.
    switchMap((item) => {
        return ItemsApi.addItem(item);
      },
    ),
  );

Это как-то возможно? Спасибо за помощь!

1 Ответ

0 голосов
/ 09 мая 2020

Я заметил, как им пользоваться. Поэтому, если я хочу получить то, что у меня есть в селекторе, мне нужно сделать что-то вроде этого:

const addItem$: Epic = (action$: Observable<Actions>, state$) =>
  action$.pipe(
    filter(action => action.type === 'ADD_ITEM'),
    withLatestFrom(getItem(state$.value)),
    switchMap(([, item]) => {
        return ItemsApi.addItem(item);
      },
    ),
  );
...