【发布时间】:2016-03-25 11:57:40
【问题描述】:
鉴于以下顺序,我未能将 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>);
}
})
【问题讨论】:
-
你能发布
data的样子吗? -
数据是 30 个对象的数组 { name : string , secondProp: string, thirdProp: int }
-
我遇到了请求问题:无法加载 XMLHttpRequest。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'fiddle.jshell.net' 不允许访问
-
当然,你必须在你的环境中使用来自 fiddle 的代码
-
到目前为止:sn,fn -ok ,在 setState 中获取数据,然后在渲染中带有 InitialState 的值
标签: javascript arrays visual-studio reactjs