![](/img/trans.png)
[英]Returning Value of a Promise - { AsyncStorage } React-Native
[英]React-Native returning view from AsyncStorage
我正在尝试从 AsyncStorage 呈现卡片列表。 我想要做的是从存储中获取所有数据并根据这些数据创建卡列表。 我可以看到函数内部的存储数据,但无法返回视图。 这就是我所做的。
import {View,AsyncStorage} from "react-native";
import { Container, Header, Content, Card, CardItem, Text, Body, Icon, Fab }
from "native-base";
export default class extends Component{
async _retrieveData(){
const value = await AsyncStorage.getAllKeys();
return value;
};
getAll(){
this._retrieveData()
.then(items =>{
items.map(async (k) => {
await AsyncStorage.getItem(k).then(ok => {
var cards = [];
cards.push(
<Card key="">
<CardItem>
<Body>
<Text>
ok data
</Text>
</Body>
</CardItem>
</Card>
)
return cards;
});
});
})
.catch(err =>{
alert(err);
});
};
render(){
return(
<Container>
<Content padder>
{this.getAll()}
</Content>
</Container>
)
}
}
你不能在 render 方法中调用 getAll 函数,因为它需要 promise 被解析。
您可以在 componenDidMount 方法中调用相同的函数,将卡片保存到本地状态,然后在 render 方法中呈现该数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.