首页 > 解决方案 > React js TypeError:无法读取未定义的属性'rfpid'

问题描述

大家好,我收到此错误:

TypeError:无法读取未定义的属性“rfpid”

所以我需要获取数据库中存在的所有数据:

componentDidMount(){
    axios.get("http://localhost:8080/aspsort/all")
    .then(response => response.data)
    .then((data) =>{
      this.setState({listaspsort : data})
    })  
  }

数据 :

{this.state.listaspsort.map((listaspsort)=>(
  <tr key={listaspsort.id} >  

    <th scope="row">{listaspsort.id}</th>

    <td>{this.listaspsort.rfpid.id}</td>
    <td>{listaspsort.requestid}</td>
    <td>{listaspsort.aspart}</td>
    <td>{listaspsort.aspname}</td>
    <td>  {listaspsort.asporganisation} </td>
    <td>  {listaspsort.aspsort} </td>
  </tr> ))
}

请问我应该怎么做才能解决这个错误

标签: reactjshibernate

解决方案


问题是 this.listaspsort 是未定义的。当您在 this.state.listaspsort 上进行迭代时,您用来映射的键称为 listaspsort 我想这就是您需要使用的:

<td>{listaspsort.rfpid.id}</td>

无论如何,因为我们看不到你从 axios 得到的结果,这只是一个猜测。如果你提供它,我可能会更好地帮助你。


推荐阅读