1. ホーム
  2. reactjs

React ルータのリダイレクトをアクション後に行う redux

2023-08-19 17:38:42

質問

私は react-reduxreact-router . アクションがディスパッチされた後にリダイレクトする必要があります。

例えば 私はいくつかのステップを登録しました。そして、アクションの後。

function registerStep1Success(object) {
    return {
        type: REGISTER_STEP1_SUCCESS,
        status: object.status
   };
}

registrationStep2のページにリダイレクトさせたいのですが。どうすればよいですか?

p.s. 履歴ブラウザで '/registrationStep2' は訪問されていません。このページは、registrationStep1のページが成功した後にのみ表示されます。

どのように解決するのですか?

React Router 2+では、アクションをディスパッチする先々で browserHistory.push() (または hashHistory.push() を使用する場合)。

import { browserHistory } from 'react-router'

// ...
this.props.dispatch(registerStep1Success())
browserHistory.push('/registrationStep2')

非同期アクションクリエイターを使用している場合は、非同期アクションクリエイターからこれを行うこともできます。