Как я могу чередовать цвета в плоский список (React Native)
Пытаясь чередовать цвета в React Natives
Flatlist
, Я считаю, что мне нужен rowID или что-то подобное, чтобы сделать это. Вот что у меня так далеко:
let colors = ['#123456', '#654321', '#fdecba', '#abcdef'];
<View >
<FlatList style={{backgroundColor: colors[this.index % colors.length]}}
data={this.state.dataSource}
renderItem={({item}) => <Text style={styles.listStyle}>{item.title}, {item.releaseYear}</Text>}
keyExtractor={(item, index) => index}
/>
</View>
Есть идеи?
2 ответа
Решение
renderItem
Аргумент обратного вызова имеет свойство index
это позволяет вам получить доступ к индексу строки для текущей строки:
<View >
<FlatList
data={this.state.dataSource}
keyExtractor={(item, index) => index}
renderItem={({item, index}) => (
<View style={{ backgroundColor: colors[index % colors.length] }}>
<Text style={styles.listStyle}>{item.title}, {item.releaseYear}</Text>
</View>
)}
/>
</View>
https://www.youtube.com/watch?v=Ca9t95K4Lko&list=PLWBrqglnjNl2yaCcp0HEAWp6zBIfingZ-&index=17
Я надеюсь, что этот учебник YouTube поможет вам получить то, что вам нужно.