私はネイティブ反応するのが新鮮です& redux、私はたくさんの実験をしています。私はredux内のデータを整理する方法に関する1つの質問があります。これは、ネイティブのレスポンスでListview/Flatlistを解析する際のパフォーマンスの向上に役立ちます。Immutablejsを使ってredux内のオブジェクトを整理する方法とフラットリストで使用するネイティブの反応を読み取る
以下は、私のAPIから受け取ったデータの構造です。
const data = {
"abcd1": {
"id":"abcd1",
"title": "test",
"contentOrder": 2
},
"abcd2": {
"id":"abcd2",
"title": "test2",
"contentOrder": 1
}
}
const sortedMap = new Immutable.OrderedMap(data).sortBy((item) => item.contentOrder)
リデューサーをImmutablemapに変換私はImmutablejsを使用してimmutablemapにこれを変更し、Reduxのストアにプッシュするよ
case ActionTypes.FETCH_SECTION.SUCCESS:
return state.merge({
isFetching: false,
result: action.response,
error: ""
})
をマージします。私は私が見る唯一のオプションは
let newsItem = []
state.get("data").valueSeq().forEach((val, index) => {
newsItem.push(val)
});
and use it like this inside the component
<FlatList
data={newsItem}
keyExtractor={(item, index) => item.id}
renderItem={this._renderRow}
/>
のようなすべてのアイテムを持つ配列を作成することです 、Flatlistまたはリストビューで表示するための状態からアイテムを読みたいとき今、だから私の質問は、これは良い習慣ですか?または私が欠けているより良い実装があります。
無限のスクロールも追加する必要があります。このためには、「onEndReached」というアクションを呼び出して、Apiの新しいデータでストアをマージします。
パフォーマンスのボトルネックを避けるため、これを適切な方法で実装したいので助言してください。通常、計算時間を削減するあなたのアドバイス&助け
ありがとうございます。ありがとうございます。私はreduxストアからデータを取得するために再選択を使用しています。上記のimmutablemapからlistへの変換方法が良いのかどうか教えてください。 MapをFlatListに渡すためのリストにマップを変換するためのいくつかの追加ステップを実行しているように見えます - これを行う良い方法があると思います – Jana