web-dev-qa-db-ja.com

1つのエピックで複数のアクションタイプを処理する方法は?同じことをすることの短所は?

Redux-observables、rxjs、およびobservablesの新機能。同じエピックで「ActionTwo」と言って、別のアクションをどのように処理できるか知りたい

const Epic1 = (action$,store) => {
return action$.ofType('ActionOne')
 .mergeMap((action) => {
      return ajax({'method': 'GET', 'url': 'someUrl')
         .map(response => resultActoin(action.userId, response.response));


       }
  );
 }

何かのようなもの

const Epic1 = (action$){
   if('ActionOne') make a API call.
   if('ActionTwo') make some other API call.
   else do nothing.

}
14
Ajinkya Salve

同じAPI呼び出しですか?その場合、ofType()は複数のタイプを受け入れます。 action$.ofType('ActionOne', 'ActionTwo')を実行するだけです。

別のAPI/URLにリクエストを送信する場合は、別のエピックを作成することをお勧めします。すべてのエピックをcombineEpicsで「マージ」できます。以下を参照してください。 https://redux-observable.js.org/docs/basics/SettingUpTheMiddleware.html

33