[英]React items.map is not a function when items is an array?
加载API
并获取.map
不是功能。 一直在浏览每个示例,并严格按照它们进行操作,但仍然出现此错误。 该错误当然发生在ul标签的.map
中
class Login extends Component {
constructor(props) {
super(props);
this.state = {
items: [],
isLoaded: false
};
}
componentDidMount() {
fetch(
"https://opentdb.com/api.php?amount=10&category=18&difficulty=easy&type=boolean"
)
.then(res => res.json())
.then(json => {
this.setState({ isLoaded: true, items: json });
});
}
render() {
var { isLoaded, items } = this.state;
if (!isLoaded) {
return <div>Loading...</div>;
} else {
return (
<div className="App">
<ul>
{items.map(item => (
<li key={item.results.question}>{item.results.question}</li>
))}
</ul>
</div>
);
}
}
}
export default Login;
您的实际数据来自json.results
,因此您需要将json.results
设置json.results
,
this.setState({ isLoaded: true, items: json.results });
您需要像这样迭代数组,
{ items.map(item => (
<li key={item.question}>{item.question}</li>
))}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.