ディスパッチ アクションとストアの間のミドルウェアとして機能する redux-observable を使用しています。これを達成するためにrxjssample
関数を使用しようとしていますが、残念ながらうまくいきません。これが私の叙事詩です:
export const inviteUserEpic = (action$) => {
return action$.ofType(a.INVITE_USER)
.flatMap(({ body }) => {
return Observable.concat(
Observable.of({ type: authActions.REGISTER_REQ, body }),
Observable.of(push(`/team/${body.teamId}`))
.sample(action$.ofType(authActions.REGISTER_SUCCESS))
);
});
};
基本的には、新しいユーザーを登録する場所が複数あるという考え方です。この場合、ユーザーの登録に成功した後、チーム ページにリダイレクトしたいと考えています。REGISTER_REQ が出力され、その後 REGISTER_SUCCESS が出力されます。ただし、リダイレクト オブザーバブルはサンプリングされません。