В соответствии с ссылка . Вы должны правильно установить и связать библиотеку. Следуйте инструкциям по ручной ссылке, если ссылка не выполняется должным образом с response-native-link @ реагировать-native-community / async-хранилище . Также я делюсь примером кода, который не использует эту библиотеку, но решит вашу проблему с соответствующим синтаксисом, который использует асинхронное хранилище.Надеюсь, это поможет.
import React, { Component } from 'react';
import {
StyleSheet,
View,
AsyncStorage,
TextInput,
Button,
Alert,
Text,
TouchableOpacity,
} from 'react-native';
export default class App extends Component {
constructor() {
super();
this.state = {
textInputData: '',
getValue: '',
};
}
set = () => {
if (this.state.textInputData) {
AsyncStorage.setItem('any_key_here', this.state.textInputData);
this.setState({ textInputData: '' });
alert('Data successfully set');
} else {
alert('Please fill data');
}
};
get = () => {
AsyncStorage.getItem('any_key_here').then(value =>
this.setState({ getValue: value })
);
};
render() {
return (
<View style={styles.MainContainer}>
<TextInput
placeholder="Enter value to set"
value={this.state.textInputData}
onChangeText={data => this.setState({ textInputData: data })}
underlineColorAndroid="transparent"
style={styles.TextInputStyle}
/>
<TouchableOpacity onPress={this.set} style={styles.button}>
<Text style={styles.buttonText}> SET VALUE </Text>
</TouchableOpacity>
<TouchableOpacity onPress={this.get} style={styles.button}>
<Text style={styles.buttonText}> GET VALUE </Text>
</TouchableOpacity>
<Text style={styles.text}> {this.state.getValue} </Text>
</View>
);
}
}
const styles = StyleSheet.create({
MainContainer: {
alignItems: 'center',
flex: 1,
justifyContent: 'center',
margin: 20,
},
TextInputStyle: {
textAlign: 'center',
height: 40,
width: '100%',
borderWidth: 1,
borderColor: '#606070',
borderRadius: 30,
},
button: {
width: '100%',
height: 40,
padding: 10,
backgroundColor: '#606070',
marginTop: 10,
borderRadius: 30,
},
buttonText: {
color: '#fff',
textAlign: 'center',
},
text: {
fontSize: 20,
textAlign: 'center',
},
});