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

无法在React中读取未定义的属性'map'

无法在React中读取未定义的属性'map'

一只斗牛犬 2019-11-04 13:13:28
我有以下从容器组件中调用的组件。容器组件通过交易道具。我知道prop中的data属性可以很好地传递并且具有数据,可以从console.log调用中进行访问。但是,当我尝试映射数据并创建列表时,出现错误:Cannot read property 'map' of undefined数据如下所示:[{"transid":3426,"acct":"acct1","category":"Auto"}, {"transid":3427,"acct":"acct2","category":"Subscriptions"}]我究竟做错了什么?import React from 'react';export default function TransactionManagerView (props) {  console.log(props.data);  return (    <ul>      {        props.data.map(function(el,index) {           return <li key={index}>{el.category}</li>        })      }    </ul>  )}
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

这是因为组件的呈现发生在组件接收数组之前。作为选项,您可以设置道具的默认值


import React from 'react';



export default function TransactionManagerView ({data = [], ...props}) {


  console.log(props.data);


  return (

    <ul>

      {

        data.map(function(el,index) {

           return <li key={index}>{el.category}</li>

        })

      }

    </ul>

  )


}


查看完整回答
反对 回复 2019-11-04
  • 2 回答
  • 0 关注
  • 1404 浏览
慕课专栏
更多

添加回答

举报

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