Redux Obserable - RX js - If - PullRequest
       26

Redux Obserable - RX js - If

1 голос
/ 13 марта 2020

Ну, у меня есть канал, вложенный в другой канал, и там я хочу отобразить наблюдаемую инструкцию a if if, которая, если true, возвращает действие, а если not, то возвращает другое действие

Для примера я хочу сделать это

export const itemAddRequest = (action$, state$) => {
  const newState$ = from(state$.value.ids);
  return action$.pipe(
    ofType("ADD_ITEM_REQUEST"),
    mergeMap(action =>
      newState$.pipe(
        map(value => {
          if (value === action.payload.id) {
            mapTo(addItemSuccess());
          } else {
            mapTo(addItemFailed());
          }
        })
      )
    )
  );
};

Любые идеи, ребята?

1 Ответ

0 голосов
/ 13 марта 2020

Это просто. Вы можете просто вернуть действие непосредственно из оператора map(), поскольку redux-observable должно получить Observable<Action> в качестве конечного значения.

export const itemAddRequest = (action$, state$) => {
  const newState$ = from(state$.value.ids);
  return action$.pipe(
    ofType("ADD_ITEM_REQUEST"),
    mergeMap(action =>
      newState$.pipe(
        map(value => {
          return value === action.payload.id
            ? addItemSuccess()
            : addItemFailed();
        })
      )
    )
  );
};
...