我正在讀取條碼,我讀取的每個條碼都添加到陣列中并顯示在平面串列中。但是在添加到陣列中的 30 個條形碼變得緩慢之后。有什么我可以做的解決方案嗎?
渲染專案:
const renderItem = useCallback(
({item, index}) => (
<View style={styles.ListItemContainer}>
<Text>
-{item} index: {index}
</Text>
<TouchableOpacity
onPress={() => {
setRemovedItem(index);
setShowAlert(true);
}}>
<Text style={{fontSize: 20, fontWeight: 'bold'}}>X</Text>
</TouchableOpacity>
</View>
),
[],
);
平面串列組件:
<FlatList
renderItem={renderItem}
data={barcodeArray}
style={styles.ListContainer}
keyboardShouldPersistTaps="handled"
initialNumToRender={12}
removeClippedSubviews
windowSize={12}
maxToRenderPerBatch={12}
/>
添加條碼:
const readBarcode = barcode => {
setbarcodeArray([barcode, ...barcodeArray]);
setbarcodeValue('');
setkey(key 1);
};
uj5u.com熱心網友回復:
對于此解決方案,您可以VirtualizedList改用Flatlist。一般來說,只有當您需要比FlatList. 有關更多資訊,請參閱 此
uj5u.com熱心網友回復:
您是否嘗試過使用這個:https : //github.com/Flipkart/recyclerlistview庫。它呈現的專案比 FlatList 少得多,然后回收它們。應該比原生 flatlist 更快,性能更高。如果這不起作用,那么如果您的內容高度固定,請嘗試在 flatlist 中使用 getItemLayout 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/402350.html
標籤:
