React native 如何在ReactNative中使用异步存储
我在ReactJS中创建了运行良好的localstorage。 但我想用这段代码来反应。 我不知道怎样才能申请工作 这段代码是由js编写的React native 如何在ReactNative中使用异步存储,react-native,React Native,我在ReactJS中创建了运行良好的localstorage。 但我想用这段代码来反应。 我不知道怎样才能申请工作 这段代码是由js编写的 ... componentWillMount(){ const contactData = localStorage.contactData; if(contactData){ this.setState({ contactData:JSON.parse(contactData) }) }
...
componentWillMount(){
const contactData = localStorage.contactData;
if(contactData){
this.setState({
contactData:JSON.parse(contactData)
})
}
}
...
...
componentWillMount(){
const contactData = localStorage.contactData;
if(contactData){
this.setState({
contactData:JSON.parse(contactData)
})
}
}
...
我读了这个
但是我不太明白。对于React本机存储,您必须使用异步存储。上述代码在react native中将变为
...
async componentWillMount(){
const contactData = await AsyncStorage.getItem('contactData');
if(contactData){
this.setState({
contactData:JSON.parse(contactData)
})
}
}
...
...
async componentWillMount(){
const contactData = localStorage.getItem('contactData');
if(contactData){
this.setState({
contactData:JSON.parse(contactData)
})
}
}
...
您可以使用async wait或then/catch承诺来处理数据。对于React本机存储,您必须使用async存储。上述代码在react native中将变为
...
async componentWillMount(){
const contactData = await AsyncStorage.getItem('contactData');
if(contactData){
this.setState({
contactData:JSON.parse(contactData)
})
}
}
...
...
async componentWillMount(){
const contactData = localStorage.getItem('contactData');
if(contactData){
this.setState({
contactData:JSON.parse(contactData)
})
}
}
...
this.retrieveItem(goalCategory).then((goals) => {
//this callback is executed when your Promise is resolved
}).catch((error) => {
//this callback is executed when your Promise is rejected
console.log('Promise is rejected with error: ' + error);
});
//the functionality of the retrieveItem is shown below
async retrieveItem(key) {
try {
const retrievedItem = await AsyncStorage.getItem(key);
const item = JSON.parse(retrievedItem);
return item;
} catch (error) {
console.log(error.message);
}
return
}
您可以使用async wait或then/catch承诺来处理数据
this.retrieveItem(goalCategory).then((goals) => {
//this callback is executed when your Promise is resolved
}).catch((error) => {
//this callback is executed when your Promise is rejected
console.log('Promise is rejected with error: ' + error);
});
//the functionality of the retrieveItem is shown below
async retrieveItem(key) {
try {
const retrievedItem = await AsyncStorage.getItem(key);
const item = JSON.parse(retrievedItem);
return item;
} catch (error) {
console.log(error.message);
}
return
}
保存到异步存储
从异步存储中检索值
从异步存储中删除
保存到异步存储
从异步存储中检索值
从异步存储中删除
const deleteUserId = async () => {
try {
await AsyncStorage.removeItem('userId');
} catch (error) {
// Error retrieving data
console.log(error.message);
}
}