Как сохранить отклик пользователей на клиентской стороне React Native? - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь внедрить систему голосования в 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()}
/>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...