setState on Array值React.js

时间:2016-03-25 11:57:40

标签: javascript arrays visual-studio reactjs

鉴于下面的顺序,我没有将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>);
  }
})

1 个答案:

答案 0 :(得分:0)

我的愚蠢错误是在声明 arr:[] 的同时考虑了输入数据,它应该被定义为 arr:[{}] (感谢{{3帮助指出错误)。