#react-native #asyncstorage
#реагировать-родной #asyncstorage
Вопрос:
У меня есть это data.js файл, в котором я храню некоторые данные :
export const data = [
{
id: '1',
title: 'first item',
description: `my first item`,
},
{
id: '2',
title: 'Second item',
description: `my second item`,
},
];
И это форма добавления связанной формы с асинхронным хранилищем в react native, когда пользователь вводит некоторые параметры в форму, которую он должен добавить в data.js файл, но не работает, когда я тестировал так много раз и не мог увидеть свою ошибку :
import data from './model/data';
import {AsyncStorage}from '@react-native-community/async-storage';
import React, {Component} from 'react';
import {Platform, StyleSheet, Text,
View,TouchableOpacity,
} from 'react-native';
export default class addPoint {
saveData(){
AsyncStorage.setItem(description,data.description);
AsyncStorage.setItem(title,data.title);
}
render() {
return (
<View style={styles.container}>
<Input placeholder=" Type your item title:"
onChangeText={(title) => this.setState({title})}
value={title} />
<Input placeholder=" Type your item description:"
onChangeText={(description) => this.setState({description})}
value={description} />
<TouchableOpacity onPress ={this.saveData}>
<Text>Click to save data</Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
});
Пожалуйста, вы можете помочь мне определить проблему? И заранее благодарю вас
Комментарии:
1. Попробуйте изменить
export default class addPoint
export default class addPoint extends Component
и привязатьthis
кSaveData
вconstructor
. Ваш конструктор класса должен выглядеть следующим образом.constructor(props){ super(props); this.saveData = this. saveData.bind(this); }
2. Большое спасибо за вашу помощь, я изменил экспорт, как вы предложили, и добавил конструктор сразу после функции SaveData внутри класса addPoint это нормально?
3. Да, это должно сработать.
4. Большое спасибо, я сейчас тестирую, надеюсь, на этот раз это сработает