一直在尝试导入 Json 文件,然后在 React Native 应用程序中探索和显示它。我只是在学习 React Native,同时也在学习 Javascript。import React, { Component } from 'react';import { Text, View, AsyncStorage} from 'react-native';import{eventos} from './Events';export default class Admin extends React.Component{ constructor(props){ super(props); this.state={ eventos } try{ AsyncStorage.getItem(eventos).then((value)=>{ if(value!=null){ console.log("Events esta completo") }else{ console.log("Events esta vacio") } this.setState({ eventos:JSON.parse(value) }) }) }catch(err){ console.log(err) } }parseEventsData(){ console.log("Deberia salir algo") return this.state.events.map((eventos,i)=>{ return( <View key={i}> <Text> {eventos.title} </Text> <Text> {eventos.responsible} </Text> <Text> {eventos.description} </Text> </View> ) })}render(){ return( <View> {this.parseEventsData()} <Text>No salio nada</Text> </View> );}}接下来是 Json。
2 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
你有几个问题:
您的
parseEventsData
. 在其他任何地方你都叫它eventos
,但在这里你叫它events
。不确定您打算使用哪个,但不匹配意味着您的调用setState
设置的属性与您稍后在parseEventsData
.假设您修复了上面的错字,
this.state.eventos
一开始将是未定义的,并且在您在构造函数中的承诺解决之前不会被定义。当您调用时this.state.eventos.map
,您正在调用 map 未定义的值,如您的错误所示。您需要在调用之前检查它是否未定义map
,或者您应该将其初始化为一个空数组。
添加回答
举报
0/150
提交
取消