[英]React Native - Unable to get data from AsyncStorage.getItem()
我正在使用 AsyncStorage 设置项目并使用 getItem() 方法检索它。 我的代码如下:
import React, { Component } from 'react';
import { View } from 'react-native';
import { Container, Left, Title, Header, Body, Right, Content, Text, Button } from 'native-base';
import AsyncStorage from '@react-native-community/async-storage';
class Counter extends Component {
componentDidMount() {
AsyncStorage.setItem('name' , 'abc');
}
getItemData() {
console.log(AsyncStorage.getItem('name'))
}
render() {
return (
<Container>
<Header>
<Left />
<Body>
<Title>Test</Title>
</Body>
<Right />
</Header>
<Content style={{ margin: 8 }}>
<View style={{ flexDirection: "row", alignSelf: "center" }}>
<Button onPress={() => this.getItemData()}><Text> getItem </Text></Button>
</View>
</Content>
</Container>
);
}
}
export default Counter;
但不是在我的控制台中得到“abc”,而是得到这个:
{"_U": 0, "_V": 0, "_W": null, "_X": null}
如何在我的控制台中获取“abc”?
添加async
和await
:
async getItemData() {
const result = await AsyncStorage.getItem('name');
console.log(result);
}
async componentDidMount() {
await AsyncStorage.setItem('name' , 'abc');
}
getItem 返回一个 promise,当找到给定键的数据时解析为存储的值,否则返回 null。
读取字符串值:
async getAsyncData() {
await AsyncStorage.getItem('name').then(val => {
if(val !== null) {
console.log(value);
}
})
}
读取 object 值:
async getAsyncData() {
await AsyncStorage.getItem('name').then(val => {
if(val !== null) {
console.log(JSON.parse(val));
}
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.