繁体   English   中英

React-Native 从 AsyncStorage 返回视图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM