获取对象:React上的“undefined”

时间:2017-02-22 17:54:29

标签: javascript json reactjs

我是反应JS的新手,我试图从Json格式的URL中提取数据。 我做了以下但是我继续在控制台上获得反馈

  

流浪者:未定义。

当我应该得到像

这样的东西时,我该怎么做呢?
  

流浪者:[物体,物体,物体]

class App extends React.Component {
 constructor(props){
   super(props);
   this.state={rovers:[]};
 }
componentWillMount(){
  api.getRovers().then((response) =>{
   this.setState({
     rovers: response.rovers
   });
 });
}
render() {
  console.log("Rovers: ", this.state.rovers);
}

这就是调用json链接的地方

var api={
  getRovers(){
   var url='https://jsonplaceholder.typicode.com/posts/1';
   return fetch(url).then((response)=> response.json());
 }
};
module.exports=api;

1 个答案:

答案 0 :(得分:2)

端点使用不包含rovers的对象进行回复。但是,它包括:iduserIdtitlebody

enter image description here

这就是response.roversundefined的原因。然后this.state.rovers是相同的

因此,您可能需要body而不是rovers,在这种情况下,请替换:

componentWillMount(){
  api.getRovers().then((response) =>{
   this.setState({
     rovers: response.rovers
   });
 });
}

通过:

componentWillMount(){
  api.getRovers().then((response) =>{
   this.setState({
     rovers: response.body.split('\n')
   });
 });
}