2016-11-22 4 views
1

複数のステータスにまたがるアクションタイプを1つのタイプに標準化し、ステータスをプロパティとして設定する場合、フラックス標準アクションではどこに設定する必要がありますか?ペイロードやメタで?フラックススタンダードアクションでリクエストステータスをどこに置くべきですか?

例えば、むしろ3つのアクションタイプを持つよりも

export const LOGIN_REQUEST = 'LOGIN_REQUEST'; 
export const LOGIN_SUCCESS = 'LOGIN_SUCCESS'; 
export const LOGIN_FAILURE = 'LOGIN_FAILURE'; 

私はちょうどaction.error場合は1つのアクションタイプ

export const LOGIN = 'LOGIN';

を持っているでしょう== nullの場合、私が想定することができます!失敗すれば成功するだろう。ただし、結果を待っているか、非同期リクエスト(BEGINまたはREQUESTEDステータス)を開始したかを示すステータスはどこに置くべきですか。

これには標準がありますか?私はちょうど "isFetching"または類似のものと呼ばれるメタ上のプロパティを設定する必要がありますか?

私はこれを行う多くの方法があると思いますが、私はFlux Standard Actionの標準を望んでいます。

答えて

0

ペイロードには、「.error」プロパティ、「.response」プロパティ、「.error」も「.response」もない3つの「形状」があります。非同期フェッチの開始時には、.responseと.errorはありません(LOGIN_REQUESTに相当)。エラーが発生した場合、ペイロードにはNULL以外のエラーがあります(LOGIN_FAILUREに相当)。要求が成功した場合、ペイロードはフラックス標準のアクションを持つヌルの.responseプロパティ(LOGIN_SUCCESSに相当)

+0

を持ちます。正しい 'payload'プロパティを使用する必要がありますか?この場合、応答プロパティは正しくペイロードになりますか? – MonkeyBonkey

+0

はい、ペイロードが必要です。しかし、ペイロードは、.errorまたは.responseが可能なプロパティである、少し単純なオブジェクトにすることができます。オブジェクトにnull以外の.errorがある場合、エラーが発生しました。 nullでない.responseが成功するでしょう。 .errorと.repsonseのない空のオブジェクト(または、必要に応じてヌルのペイロード)は、「進行中 - エラーまたは応答はまだありません」と表示されます。もっと明確な希望がありますか? –

+0

あなたの3つの可能なペイロードは次のようになります...... {type: 'LOGIN'、payload:null}は「進行中」、{type: 'LOGIN'、ペイロード:{error: 'Bah! ! ' }}はエラーになり、{タイプ: 'LOGIN'、ペイロード:{レスポンス: '成功!!' }}成功するでしょう。あなたのレデューサーのswitch/caseの中で、action.type 'LOGIN'の場合は、payload.error、payload.response、または!payloadをテストするだけです –

関連する問題