鉴于下面的顺序,我没有将this.state.arr设置为从请求收到的数据,我想我的错误是我尝试设置arr的方式。我怎么能达到想要的结果呢?
编辑: var data = [{
"name": "AlphaBank",
"curs": 3.8549,
"cursVanzare": 4.0741,
"day": 20
}, {
"name": "AlphaBank",
"curs": 3.8579,
"cursVanzare": 4.0774,
"day": 21
}]
var copyValue = "";
var TableComponent = React.createClass({
getInitialState: function () {
return { sn: "", fn: "", arr: [] }
},
componentWillMount: function () {
$.getJSON("api/data/GetData").done(function (data) {
copyValue = data[0].name; //data-array of Objects
this.setState({fn:copyValue, arr: data.slice(0)})
}.bind(this))
this.setState({ sn: "value" });
},
render: function () {
return (<div className="container">
{this.state.sn} {this.state.fn} {this.state.arr[0].name}
</div>);
}
})
答案 0 :(得分:0)
我的愚蠢错误是在声明 arr:[] 的同时考虑了输入数据,它应该被定义为 arr:[{}] (感谢{{3帮助指出错误)。