【发布时间】:2017-11-01 15:40:18
【问题描述】:
我正在学习 ReactJS 来制作一个需要 Jquery 从服务器提取远程 JSON 数据的 Web 应用程序。当我手动将 JSON 数据放入 App.js 时,Web 应用程序可以工作,但是当我尝试提取远程 JSON 数据时,会给出错误无法读取 Null 的属性“轮询”。
这里是手动放入 JSON 数据的 app.js:
import React, { Component } from 'react';
import Polls from './Components/Polls';
import './App.css';
import $ from 'jquery';
class App extends Component {
constructor(){
super();
this.state = {
polls: [
{
survey_id: 1,
choice1_votes: 4,
choice1_text: "Kanye",
choice1_image:"https://a.web.site/kanye.jpg",
choice2_votes: 5,
choice2_text:"Eminem",
choice2_image:"https://a.web.site/eminem.jpg"
},
{
survey_id: 2,
choice1_votes: 7,
choice1_text: "Football",
choice1_image:"https://a.web.site/football.jpg",
choice2_votes: 2,
choice2_text: "Soccer",
choice2_image:"https://a.web.site/soccer.jpg"
}
]
};
console.log(this.state);
}
render() {
return (
<div className="App">
My App
<Polls polls={this.state.polls}/>
</div>
);
}
}
export default App;
当我尝试更改 this.state 以使用 Jquery 提取数据时...
constructor(){
super();
$.getJSON('sample.json', function (data) {
this.state = {data};
});
}
...我收到错误消息无法读取 null 的属性“polls”。
我该如何解决这个错误?
【问题讨论】:
标签: javascript jquery json reactjs