2017-05-02 9 views
3

twich apiを使用していくつかの基本チャンネル情報を取得し、問題のチャンネルがストリーミングしているかどうかを確認しています。複数のリクエストを持つデータをReduxアクション作成者にフェッチし、収集したデータをレデューサーに送信する方法は?

このデータを収集するために2つのseparteリクエストを作成する必要があります。

私はこのようなaxiosでこれを作りたかった:

export function fetchUser(user_id) { 
    const get_user = `${ROOT_URL}/users/${user_id}?client_id=${CLIENT_ID}`; 
    const get_stream = `${ROOT_URL}/streams/${user_id}?client_id=${CLIENT_ID}`; 

    function getUserInfo() { 
    return axios.get(get_user); 
    } 

    function getUserStream() { 
    return axios.get(get_stream); 
    } 

    axios.all([getUserInfo(), getUserStream()]) 
    .then(axios.spread(function (infos, streams) { 
     //WHAT TO DO HERE? 
    })); 

    return { 
    type: FETCH_USER, 
    payload: req, 
    }; 
} 

問題はReduxの-PROMIS-ミドルウェア「は、ただ1つの約束OBJ平野OBJへの減速のための共同私はできるな形質転換されていることです2つの約束事をペイロードとして送信する。

どのように私の状態を約束objの代わりにプレーンobjとして更新するために、両方のリクエスト結果をレデューサーに送信するためにこのコードを微調整できますか?どういうわけか、レフィックス・サンクでどうですか? 私はこの問題で全く新しいことに注意したいので、寛大な質問をしたいと思います。

答えて

1

ペイロード(オブジェクトを含む)には何も設定できないというのが良いニュースです。だからこれは便利だろう:

return { 
    type: FETCH_USER,//change constant here with appropriate action type 
    payload: {infos:infos,streams:streams} 
};