【发布时间】:2021-12-26 10:47:55
【问题描述】:
我收到了这个错误
Mainsection.js:27 Uncaught TypeError: Cannot read properties of undefined (reading 'map')
这是我的 mainsection.js 文件,我正在使用 API 密钥来迭代数据,我仍然没有得到错误的原因。首先,我创建了一个名称为 info 的数组并将所有数据存储在其中,然后对其进行迭代,现在使用 fetchapi 后,我删除了该数组,因为它没有用。不知道是不是要删。
import React, { Component } from 'react'
import Card from './Card'
export default class Mainsection extends Component {
constructor() {
super();
this.state = {
info:null
}
}
async componentDidMount(){
let Url="https://randomuser.me/api/?inc=gender,name,nat,location,picture,email&results=";
let data= await fetch(Url);
let parsedData= await data.json()
console.log(parsedData);
this.setState({
info : parsedData.info
})
}
render() {
return (
<div>
<div className="container mt-5">
<div className="row">
{this.state.info.map((element) => {
return <div className="col-md-4">
<Card key={element.email} name={element.name} location={element.location} gender={element.gender} imageUrl={element.picture.medium} />
</div>
})}
</div>
</div>
</div>
)
}
}
这是我的 card.js 文件
import React, { Component } from 'react'
export default class Card extends Component {
render() {
let {name, location, gender, imageUrl}=this.props
return (
<div>
<div className="card" style={{ width: "18rem" }}>
<img src={imageUrl} className="card-img-top" alt="..." />
<div className="card-body">
<h5 className="card-title">{name}</h5>
<p className="card-text">{location}</p>
<p className="card-text">{gender}</p>
<a href="/" className="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
)
}
}
请允许我提供更多详细信息
【问题讨论】:
-
所以 console.log info: this.info - 它可能不是一个数组
标签: javascript arrays reactjs dictionary