2016-07-28 8 views
0

コンポーネントからアクション作成者を呼び出してリソースを作成/編集し、APIリクエストをサーバーに送信しました。サーバーが停止している、またはエラーを返すケースはどうすれば処理できますか?関連するコンポーネントに成功/失敗が通知されるようにします。流出しているサーバー/要求エラーを処理する方法は?

  1. 派遣COMMENT_FAILED、COMMENT_SUCCESSアクションその後、何とかコンポーネントに通知コメント店、へ:

    私の現在の考え方はしていますか?

  2. 開始コンポーネント内の約束を使用して、アクション呼び出しのエラーを捕捉し、適切に応答/レンダリングします。

どちらが良いですか?どうして?

これは前にReact+Flux: Notify View/Component that action has failed?で尋ねられましたが、唯一提案されている解決策は、2での約束を使用することです。私は確かにそれを行うことができますが、それは... Fluxのようなものです。

+0

どの磁束の実装を使用していますか? – azium

+0

私はFacebookの磁束を使用しています –

答えて

1

私が通常行っていることは、自分のコンテナ/コンポーネントに固有のエラーリデューサを作成することです。たとえば、ユーザーがログインした場合、次のようにエラーを自分のログイン減速装置に送ります。

export default function dispatchError() { 
     return function(dispatch) { 
      dispatch({ 
       type: 'LOGIN_ERROR', 
       payload: 'You entered an incorrect password' 
      }); 
     } 
} 

この場合、これは非常に似ています。いつでもあなたの減速機へのリクエストのディスパッチが失敗します。

+0

はい、それは私が考えていたものに非常に似ています。同じページに複数の同じコンポーネントがある場合はどうしますか?成功/エラーのディスパッチに応答するアクションを開始したコンポーネントのみが必要です。おそらく、そのような場合には約束は良い考えですか? –

+0

私はFacebookのフラックスが減速機を持っているとは思わないが、複数の店舗。十分に似ている必要があります – azium

関連する問題