const levels = [
{
id: 1,
text: 'Текст 1',
answer: false,
infoText: 'Инфо 1',
},
{
id: 2,
text: 'Текст 2',
answer: false,
infoText: 'Инфо 2',
},
{
id: 3,
text: 'Текст 3',
answer: false,
infoText: 'Инфо 3',
},
{
id: 4,
text: 'Текст 4',
answer: false,
infoText: 'Инфо 4',
},
{
id: 5,
text: 'Текст 5',
answer: false,
infoText: 'Инфо 5',
},
{
id: 6,
text: 'Текст 6',
answer: false,
infoText: 'Инфо 6',
},
]
С помощью .map я создаю карточки для моего приложения
{this.state.renderLevelsArray.slice().map((cards) => (
<Card key={cards.id} style={styles.card}>
<Image
source={images.backgroundCard}
style={styles.cardBackground}
/>
<View style={styles.questionBox}>
<Text style={styles.questionText}>{cards.text}</Text>
</View>
</Card>
))}
И все элементы моего массива превращаются в карточки, элементов всего у меня 200 шт и поэтому мое приложения начинает лагать. Можно ли сделать так что бы .map применялся сначала для 5 первых элементов массива, потом для следующих 5 и тд.? или как поступить лучше в этой ситуации?
используйте вместо map, FlatList и его методы оптимизации
была мысль о FlatList, но не уверен что это мне подойдет ибо юзаю эту либу https://github.com/lhandel/react-native-card-stack-swiper#readme и перебор масива надо для создания этих карточек...
а какая задача то я не понял
есть масив, каждый элемент массива - новая карточка для свайпа, когда карточек 200, приложуха начинает лагать, поэтому ищу способ передавать в свайпер по 5 карточек
Flat list и уже внутри item юзаешь свайп, думаю самый удобный вариант
понял, спасибо, буду пытатся
Обсуждают сегодня