为了账号安全,请及时绑定邮箱和手机立即绑定

未捕获的类型错误:无法读取未定义的属性“地图”(REACT NATIVE - Javascript)

未捕获的类型错误:无法读取未定义的属性“地图”(REACT NATIVE - Javascript)

回首忆惘然 2022-06-09 19:19:27
一直在尝试导入 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 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

检查您的代码,您会注意到状态变量被称为“eventos”,并且您正在通过“this.state.events”进行映射。只是一个错字。



查看完整回答
反对 回复 2022-06-09
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

你有几个问题:

  1. 您的parseEventsData. 在其他任何地方你都叫它eventos,但在这里你叫它events。不确定您打算使用哪个,但不匹配意味着您的调用setState设置的属性与您稍后在parseEventsData.

  2. 假设您修复了上面的错字,this.state.eventos一开始将是未定义的,并且在您在构造函数中的承诺解决之前不会被定义。当您调用时this.state.eventos.map,您正在调用 map 未定义的值,如您的错误所示。您需要在调用之前检查它是否未定义map,或者您应该将其初始化为一个空数组。


查看完整回答
反对 回复 2022-06-09
  • 2 回答
  • 0 关注
  • 191 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信