【发布时间】:2019-07-09 02:01:07
【问题描述】:
大家好,我正在使用 Star Wars API 在 ReactJS 中进行实验。
我想获得以下形式的人的集合:
{
"count": 87,
"next": "https://swapi.co/api/people/?page=2",
"previous": null,
"results": [
{
"name": "Luke Skywalker",
"height": "172",
"mass": "77",
"hair_color": "blond",
"skin_color": "fair",
"eye_color": "blue", ... (continues)
由于我可以获取单个字符,因此我知道获取机制正在工作,但我无法获取结果中的字符列表。
我的应用是这样的:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import Character from './Character'
class App extends Component {
constructor() {
super()
this.state = {
people : {},
character: {}
}
fetch("https://swapi.co/api/people/1")
.then(response => response.json())
.then(data => {
this.setState({
character: data
})
})
fetch("https://swapi.co/api/people/")
.then(response => response.json())
.then(data => {
this.setState({
people: data
})
})
console.log(this.state.people)
console.log(this.state.people.results)
}
render() {
return (
<div className="App">
<Character
character = { this.state.character}
/>
</div>
);
}
}
export default App;
我从 console.log 中获取了这些信息(其余的是工作正常的单个字符)。
第一个 console.log 给了我一个(在 firefox webconsole 中)
对象{ }
第二个给我未定义的。
我已经尝试了很多东西,但似乎无法找到如何获取该字符列表..我错过了什么?
【问题讨论】:
-
必须将console.log()放在异步函数中
标签: javascript json reactjs fetch