2017-04-25 12 views
1

私は反応/還元アプリケーションを持っており、次のような課題があります。ボタンをクリックすると、フォームデータを保存し、バックエンドで検証エラーが発生した場合は、メッセージを表示したり、リダイレクトしたりする必要があります。私のコンポーネントでReact/redux - Onclickは還元剤に反応します

私は今、アクションが減速を呼び出すために、ディスパッチを使用して、私は減速機が起動されていることを確認することができます。この機能に

doSubmit = (data) => { 
    const {actions, linkUtils, myObject} = this.props 

    return actions.checkAuthentication() 
     .then(actions.sendMyObject(myObject, data)) 
     .then(linkUtils.openRoute('nextUrl')) 
    } 

を持っています。オブジェクトの保存時に成功され、その結果のみ

return actions.checkAuthentication() 
.then(actions.sendMyObject(myObject, data)) 
    .then(if (saved) { linkUtils.openRoute('nextUrl') }) 

:私はこのような何かをしたいと思いdoSubmitで今

case types.SAVE_SUCCESS: 
return { 
    ...state, 
    save: true, 
} 
case types.SAVE_ERROR: 
    return { 
    ..state, 
    saved: false, 
    fieldErrors: action.payload.errors 
} 

:私は、アクションタイプを使用して、私はアクションタイプでスイッチケースを使用しますリダイレクトが行われます。

どうすればいいですか?あなただけのデータsendMyObjectリターンに切り替えることができ

答えて

0

:これが機能するために

return actions.checkAuthentication() 
    .then(actions.sendMyObject(myObject, data)) 
    .then((saved) => { 
     if (saved) { 
     return linkUtils.openRoute('nextUrl'); 
     } else { 
     // something else 
     } 
    }); 

、解決する必要がsendMyObjectあなたの約束savedまたはそれが成功したかどうかをチェーン内の次の約束を伝えるいくつかの他の情報。

関連する問題