У меня проблема с сохранением пользовательских данных в приложении, нативном для реагирования, над которым я сейчас работаю со своей командой. У нас есть приложение со списком событий, и когда вы нажимаете на событие, оно открывает страницу сведений о событии и показывает меню для выбора да/нет/возможно (меню посещаемости), которое пользователь может переключать, чтобы выбрать, будут ли они посещают мероприятие. Наш код выглядит так:
import React from 'react';
import { AsyncStorage, Text, View, StyleSheet, Picker } from 'react-native';
export class PickerMenu extends React.Component {
state = { choice: '' }
componentDidMount = () => AsyncStorage.getItem('choice').then((value) => this.setState({ 'choice': value }))
setName = (value) => {
AsyncStorage.setItem('choice', value);
this.setState({ 'choice': value });
}
render() {
return (
<View>
<Picker selectedValue = {this.state.choice} onValueChange = {this.setName} itemStyle = {styles.item}>
<Picker.Item label = "Yes" value = "yes" />
<Picker.Item label = "Maybe" value = "maybe" />
<Picker.Item label = "No" value = "no" />
</Picker>
</View>
);
}
}
Мы запускаем сборку на Xcode. Мы хотим, чтобы выбор пользователя по-прежнему присутствовал после обновления страницы или закрытия приложения — это работает, ОДНАКО, выбор, который выбрал пользователь, остается неизменным для каждого события. Например. если они выбирают «Может быть» для события 1, выбор «может быть» выделяется для каждого другого события в нашем приложении.
У нас была идея получить уникальные идентификаторы событий и внедрить их в функцию AsyncStorage, но мы не знаем, как это сделать.
Любая помощь будет большой и высоко ценится - спасибо!