Я пытаюсь внедрить систему голосования в React Native. В настоящее время у меня есть FlatList
, который показывает карту с двумя изображениями с двумя текстовыми полями. Я хотел бы, чтобы, когда пользователь щелкает текст, который он регистрирует как голосование, и выделяет текст. Я могу обработать код, чтобы сделать его серым и деактивировать текст, но как я могу убедиться, что когда пользователь закрывает и снова открывает, он остается таким же? Если я воспользуюсь Redux, получу ли я то, что пытаюсь сделать? Я просто хочу быть уверен, что пользователи не могут дважды голосовать за что-то. Я думал о сохранении пользовательских идентификаторов тех, кто голосовал в пожарном депо, но предпочел бы ограничить количество обращений к базе данных, насколько это возможно.
Вот код моего FlatList
<FlatList
data={this.state.data}
renderItem={({ item }) => {
return (
<View>
<Card style={styles.listItem}>
<Text style={styles.infoText}>{item.userName}</Text>
<View style={styles.cardView}>
<Image
style={styles.postIcon}
source={
item.imageUrl === "empty"
? require("../assets/icon.png")
: { uri: item.firstImageUrl }
}
/>
<Image
style={styles.postIcon}
source={
item.imageUrl === "empty"
? require("../assets/icon.png")
: { uri: item.secondImageUrl }
}
/>
</View>
<View style={styles.infoContainer}>
<TouchableOpacity>
<Text>{item.firstImageTitle}</Text>
</TouchableOpacity>
<TouchableOpacity>
<Text>{item.secondImageTitle}</Text>
</TouchableOpacity>
</View>
</Card>
</View>
);
}}
keyExtractor={(item, index) => index.toString()}
/>;