Saya sedang mengembangkan aplikasi obrolan dengan reaksi asli tetapi Daftar Datar dengan data besar memperlambat komponen lain seperti emoji atau input teks dapatkah seseorang membantu saya?

  <FlatList
   ref={ref => this.chatFlatList = ref}
   data={this.state.messages1}
   showsHorizontalScrollIndicator={false}

   inverted
   renderItem={this.renderChatList}
   keyExtractor={(_,index) => index.toString()}
   ListFooterComponent={() =>  <ActivityIndicator size="large" color="#0000ff" /> }
   windowSize={10000}
   />
0
User99944488 10 Juli 2020, 11:35

1 menjawab

Jawaban Terbaik
windowSize={10000) 

Berarti komponen akan merender area layar yang terlihat ditambah (hingga) 4999 layar di atas dan 4999 di bawah viewport.

Mengurangi jumlah ini akan mengurangi konsumsi memori dan dapat meningkatkan kinerja, tetapi akan meningkatkan kemungkinan pengguliran cepat dapat mengungkapkan area kosong sesaat dari konten yang tidak dirender.

(diambil dari 'VirtualizedList" dokumentasi)

Coba ubah ukuran jendela (menjadi 11 misalnya) dan lihat apakah membantu.

Hal lain yang dapat Anda lakukan adalah menambahkan

removeClippedSubviews={true}

Yang mana

pengoptimalan asli yang menghapus subview yang terpotong (yang berada di luar induk) dari hierarki tampilan untuk memindahkan pekerjaan dari sistem rendering asli

0
D10S 10 Juli 2020, 09:37