私はsocket.ioの中でデータを送信するときに更新するネイティブに反応内のリストを必要とする更新することが非常に遅いですリアクト私はすべて設定しているとしようとしている:。マイリアルタイム</p> <p>ネイティブリストは
のListView
FlatListや部品の
私自身の基本的なJavaScriptの配列
リストは600で、データは動的である必要があります(約3回/秒のsocket.ioデータが入っていて、リストの対応するインデックスを更新します)。問題は、すべてをスクロールダウンして多くの速度を落として停止し、リストの更新が停止したときに発生します。
リストは、基本的に私の軽量コンポーネントの40以上を処理できません。リストを更新するためのよりよい方法がありますか?
トリックが正しくレンダリングされ、着信データに追いつくことができますか?
listview/scrollviewの小道具で 'removeClippedSubviews = {true}'を設定しようとしましたか?私はそれがそのような大規模なアイテムの配列のパフォーマンスを向上させると信じています –
ちょっとライアン、私はそれを試み、顕著な違いを見ませんでした。おそらく少し助けたかもしれない。迷惑なのは、普通のjavascript配列を作成し、すべての600データポイントを にレンダリングすることができるということです。アプリケーションはそのままで、socket.ioデータが取り込まれたインスタンスが画面に表示されます。しかし、私は子コンポーネント(これは超シンプルなコンポーネントです)の小道具としてこのデータを送信しようとすると、すべてが遅くなります。他のヒントがあれば助けになるでしょう。これで最後の14時間を費やしてどこにも行きませんでした。画面上に表示されているものだけを上か下にレンダリングする方法はありますか? –
PurplePanda
いくつかのコードを投稿できますか? (可能な限り最小限)。 removedClippedSubviewsのpropはそれを行い、画面上に表示されているアイテムのみをレンダリングします –