FlatList optimizations:
1<FlatList2 data={items}3 renderItem={renderItem}4 keyExtractor={(item) => item.id}5 getItemLayout={(data, index) => ({6 length: ITEM_HEIGHT,7 offset: ITEM_HEIGHT * index,8 index,9 })}10 removeClippedSubviews={true}11 maxToRenderPerBatch={10}12 windowSize={5}13 initialNumToRender={10}14 updateCellsBatchingPeriod={50}15/>
Key props:
getItemLayout: skip measurement for fixed-size itemsremoveClippedSubviews: unmount offscreen itemsmaxToRenderPerBatch: limit items rendered per framewindowSize: number of screens to render aheadReact.memo for list items