[英]setState on Array value React.js
Given the sequence below, I failed to set this.state.arr to data received from request, I suppose my mistake is in the way I try to set arr. 给定以下顺序,我无法将this.state.arr设置为从请求接收的数据,我想我的错误在于尝试设置arr的方式。 How could I achieve wanted result? 我如何获得想要的结果?
EDIT: var data = [{ "name": "AlphaBank", "curs": 3.8549, "cursVanzare": 4.0741, "day": 20 }, { "name": "AlphaBank", "curs": 3.8579, "cursVanzare": 4.0774, "day": 21 }]
编辑: 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>);
}
})
我的愚蠢错误是在声明arr:[]的同时考虑了传入数据,因此应该将其定义为arr:[{}] (感谢Alexander T在指出错误时提供了帮助)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.