2017-08-18 9 views
0

リモートAPIにアクセスしてReduxにディスパッチする非同期ミドルウェアがあります。ベストプラクティス:非同期呼び出しから不要なデータを捨てる場合

大量のデータを返す既存のAPIにアクセスしていますが、大部分は不要です。データから望ましくない要素を捨てるべきときに確立されたベストプラクティスはありますか?私が見る限りでは、私はできる:

1 - 私は店に必要なものを渡すときにそれをフィルタリングします。

2 - 受信時にすべてをストアに格納し、セレクタまたはmapStateToPropsを使用してレンダリングする必要があるものだけを抽出します。

3 - すべてを保存して抽出し、コンポーネント内で必要なものを除外します。

他人はどう思いますか?

答えて

1

ストリームを使用するようにAPIを変更できない場合、または少なくともページ番号を使用する場合は、オプションnoを使用してください。 1.


  • 仕事をするために必要なデータの最小量で動作するようにしてください。これは一般的なルールで、 reduxにのみ適用されます!
  • できるだけ平らな場所に保管してください。
  • 、店言ったと

の変化につながるいかなる行為に関与したデータを最小化するAPIレスポンスが入って来たときに、すべての未使用のデータの権利をフィルタリングするようにしてください。

0

あなたが」 APIからこのようなデータに何かを大量に取得し再:

API

"payload": { 
"info": [ ... large ...], 
"meta": [ ... small ...], 
} 

Reduxアクションアクションでは、小さなデータだけを使用します。例えば

リデューサー

function reducer(store, action) { 
    switch (action.payload) { 
    case 'GET_API': 
     store = {...store, meta: action.payload.meta } 
     } 
     break; 
    default: 
     break; 
    } 
    return store 
} 

あなたの減速には、だから今、あなたは文句を言わないもうその大規模なデータを持っているAPIが終了すると、減速機は、わずかなデータが含まれています。

関連する問題