2016-03-25 3 views
1

Учитывая последовательность ниже, я не смог установить this.state.arr для данных, полученных от запроса, я полагаю, что моя ошибка в том, как я пытаюсь установить arr. Как я могу достичь желаемого результата?setState on Array value React.js

EDIT: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

Вы могли бы написать, как выглядит 'data'? –

+0

данные Array из 30 объектов с {name: string, secondProp: string, thirdProp: int} – meta4

+0

У меня возникают проблемы с запросом: XMLHttpRequest не может загрузить. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Происхождение «https://fiddle.jshell.net», следовательно, не допускается к доступу – meta4

ответ

0

Моя глупая ошибка объявлял обр [], принимая во внимание входящие данные, которые он должен был быть определен как обр: [{}] (Спасибо Alexander T за помощь в указании ошибки).

Смежные вопросы