redux-observableで「of」を使用するにはどうすればよいですか

stevenH

Redux-Observableは初めてです。そのため、プロジェクトでredux-observableを適用し、redux-observableでアクションをディスパッチしたいので、「of」を使用しました(以前のRXJSバージョンのObservable.of()のように)。しかし、私が受け取った応答は、「アクションはプレーンオブジェクトである必要があります。非同期アクションにはカスタムミドルウェアを使用してください」です。セットアップしたエピックミドルウェアまたはコードに問題がありますか?

store.js

import { createStore, applyMiddleware, compose } from 'redux';
import { createEpicMiddleware } from 'redux-observable';
import { rootEpic } from './epics';
import reducers from './reducers';

const epicMiddleWare = createEpicMiddleware();
const configureStore = () => {
  const store = createStore(
    reducers,
    compose(
      applyMiddleware(epicMiddleWare),
      window.devToolsExtension ? window.devToolsExtension() : (f) => { return f; },
    ),
  );

  epicMiddleWare.run(rootEpic);

  return store;
};

export default configureStore;

epic.js

export const fetchNavigationEpic = (action$) => {
  return action$
    .ofType(actionTypes.FETCH_NAVIGATION_LIST)
    .pipe(
      mergeMap(() => {
        return from(CreateService(SettingService).getAll())
          .pipe(
            map((response) => {
              if (response.status === 200) {
                return of(fetchNavigationSuccess(response));
              }

              return fetchNavigationFailed(response);
            }),
          );
      }),
    );
};

action.js

export const fetchNavigation = { type: actionTypes.FETCH_NAVIGATION_LIST };
export const fetchNavigationSuccess = (payload) => {
  return { type: actionTypes.FETCH_NAVIGATION_LIST_SUCCESS, payload };
};
export const fetchNavigationFailed = (payload) => {
  return { type: actionTypes.FETCH_NAVIGATION_LIST_FAILED, payload };
};

ライブラリ情報: "redux-observable": "^ 1.0.0"、 "rxjs": "^ 6.2.1"、 "rxjs-compat": "^ 6.2.1"、

アナス

問題は、アクションではなくストリームを返すことです。

オブザーバブル(of(yourAction))を返す場合は、を使用してそれをフラット化する必要があります mergeMap

アクションを返す場合は、map代わりにを使用できますmergeMap

だからそれはどちらかです

export const fetchNavigationEpic = (action$) => {
  return action$
    .ofType(actionTypes.FETCH_NAVIGATION_LIST)
    .pipe(
      mergeMap(() => {
        return from(CreateService(SettingService).getAll())
          .pipe(
            mergeMap((response) => {
              if (response.status === 200) {
                return of(fetchNavigationSuccess(response));
              }

              return of(fetchNavigationFailed(response));
            }),
          );
      }),
    );
};

または

export const fetchNavigationEpic = (action$) => {
      return action$
        .ofType(actionTypes.FETCH_NAVIGATION_LIST)
        .pipe(
          mergeMap(() => {
            return from(CreateService(SettingService).getAll())
              .pipe(
                map((response) => {
                  if (response.status === 200) {
                    return fetchNavigationSuccess(response);
                  }

                  return fetchNavigationFailed(response);
                }),
              );
          }),
        );
    };

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Observable.ajax(redux-observable)をテストするにはどうすればよいですか?

分類Dev

redux-observableエピックでRxJSobservableをチェーンするにはどうすればよいですか?

分類Dev

redux observableの内部observableから退会するにはどうすればよいですか?

分類Dev

reduxなしでアプリでpjsipを使用するにはどうすればよいですか?

分類Dev

typescript @ 3でreact-redux接続を適切に使用するにはどうすればよいですか?

分類Dev

reduxでreselectを使用してownPropsを取得するにはどうすればよいですか?

分類Dev

redux-observableを使用して簡単な通知システムを実行するにはどうすればよいですか?

分類Dev

redux-observable epicを使用して2つのアクション間の期間を測定するにはどうすればよいですか?

分類Dev

redux-observableを使用してバイナリイメージを正しく取得するにはどうすればよいですか?

分類Dev

redux-formでselect入力タイプを使用するにはどうすればよいですか?

分類Dev

react / reduxで複数のmultiActionを使用するにはどうすればよいですか?

分類Dev

React redux-formでreact-toggleを使用するにはどうすればよいですか?

分類Dev

Kotlin.jsでRedux / Reactを使用するにはどうすればよいですか?

分類Dev

追加の変数でreact-redux'useSelector 'を使用するにはどうすればよいですか?

分類Dev

Reactでredux-thunkを正しく使用するにはどうすればよいですか?

分類Dev

React-ReduxプロジェクトでEsriArcgis Mapsを使用するにはどうすればよいですか?

分類Dev

React JSでReduxとAxiosを使用するにはどうすればよいですか?

分類Dev

redux接続コンポーネントでtypescriptを使用するにはどうすればよいですか?

分類Dev

React with Reduxを使用してプリローダーを作成するにはどうすればよいですか?

分類Dev

Redux DevTools Extensionをreact-reduxストアに追加するにはどうすればよいですか?

分類Dev

redux observableで、他のアクションの前にアクションを実行するにはどうすればよいですか?

分類Dev

`redux-thunk`と` redux-promise`を追加するにはどうすればよいですか?

分類Dev

react / reduxに保存するための参照を取得するにはどうすればよいですか?

分類Dev

反応でredux状態からデータをプルするにはどうすればよいですか?

分類Dev

React / Reduxで何かをディスパッチするにはどうすればよいですか?

分類Dev

ReduxストアにIDでアイテムを保存するにはどうすればよいですか?

分類Dev

React + Reduxで状態更新を非同期にするにはどうすればよいですか?

分類Dev

React / Redux で状態を動的にプリロードするにはどうすればよいですか?

分類Dev

ユーザーが許可する前にredux-persistがLocalStorageを使用しないようにするにはどうすればよいですか?

Related 関連記事

  1. 1

    Observable.ajax(redux-observable)をテストするにはどうすればよいですか?

  2. 2

    redux-observableエピックでRxJSobservableをチェーンするにはどうすればよいですか?

  3. 3

    redux observableの内部observableから退会するにはどうすればよいですか?

  4. 4

    reduxなしでアプリでpjsipを使用するにはどうすればよいですか?

  5. 5

    typescript @ 3でreact-redux接続を適切に使用するにはどうすればよいですか?

  6. 6

    reduxでreselectを使用してownPropsを取得するにはどうすればよいですか?

  7. 7

    redux-observableを使用して簡単な通知システムを実行するにはどうすればよいですか?

  8. 8

    redux-observable epicを使用して2つのアクション間の期間を測定するにはどうすればよいですか?

  9. 9

    redux-observableを使用してバイナリイメージを正しく取得するにはどうすればよいですか?

  10. 10

    redux-formでselect入力タイプを使用するにはどうすればよいですか?

  11. 11

    react / reduxで複数のmultiActionを使用するにはどうすればよいですか?

  12. 12

    React redux-formでreact-toggleを使用するにはどうすればよいですか?

  13. 13

    Kotlin.jsでRedux / Reactを使用するにはどうすればよいですか?

  14. 14

    追加の変数でreact-redux'useSelector 'を使用するにはどうすればよいですか?

  15. 15

    Reactでredux-thunkを正しく使用するにはどうすればよいですか?

  16. 16

    React-ReduxプロジェクトでEsriArcgis Mapsを使用するにはどうすればよいですか?

  17. 17

    React JSでReduxとAxiosを使用するにはどうすればよいですか?

  18. 18

    redux接続コンポーネントでtypescriptを使用するにはどうすればよいですか?

  19. 19

    React with Reduxを使用してプリローダーを作成するにはどうすればよいですか?

  20. 20

    Redux DevTools Extensionをreact-reduxストアに追加するにはどうすればよいですか?

  21. 21

    redux observableで、他のアクションの前にアクションを実行するにはどうすればよいですか?

  22. 22

    `redux-thunk`と` redux-promise`を追加するにはどうすればよいですか?

  23. 23

    react / reduxに保存するための参照を取得するにはどうすればよいですか?

  24. 24

    反応でredux状態からデータをプルするにはどうすればよいですか?

  25. 25

    React / Reduxで何かをディスパッチするにはどうすればよいですか?

  26. 26

    ReduxストアにIDでアイテムを保存するにはどうすればよいですか?

  27. 27

    React + Reduxで状態更新を非同期にするにはどうすればよいですか?

  28. 28

    React / Redux で状態を動的にプリロードするにはどうすればよいですか?

  29. 29

    ユーザーが許可する前にredux-persistがLocalStorageを使用しないようにするにはどうすればよいですか?

ホットタグ

アーカイブ