2016-11-23 6 views
0

私のリアクションのアプリでは、ユーザー情報を受け入れていくつかのローカルオブジェクトを作成してから、いくつかのURLに移動しようとしています。React Redux App - ディスパッチ後のステートメントが必ずしも正常に動作しない

const mapDispatchToProps = (dispatch) => { 
    return { 
    handleLogin: (userName, password) => { 
     dispatch(login(userName, password)).then(
     (response) => { 
      if(!response.error){ 
      dispatch(buildProfile(response.payload.data)); 
      browserHistory.push('/'); // <-- This does not work in the first call to handleLogin and always works in the second call 
      } 
      else{ 
      dispatch(loginFailed(response.payload)); 
      } 
     }); 
     } 
    }; 
    }; 

ラインbrowserHistory.push('/');はbuildProfileが正常に戻りますけれども、私は、ログインボタンをクリックしてください最初に呼ばれることは決してありません。次回にログインをクリックした場合にのみ、リダイレクトが行われます。何がうまくいかないでしょうか?そしてこれは一貫して起こります。

ありがとうございます。

+0

ブラウザコンソールにエラーや警告がありますか? – Timo

+0

いいえ、同じようにデバッグしました。 browserHistoryステートメントは実行されません。 –

+0

@Timo、ヒントをありがとう。はい、実際にJSXにエラーがあり、最初のディスパッチステートメントの後にレンダリング中にクラッシュしていました。私はそれを修正した後、それは働き始めた。 –

答えて

0

最初のディスパッチ後に状態の更新に応答してクラッシュしていたJSX(ここには掲載されていません)に変数がありませんでした。これを修正した後、これは必要に応じて機能します。

関連する問題