最初の呼び出しが行われると、サーバーからのAPIを使用して値がフェッチされますが、値を最初に状態に設定すると、最初は空になりますが、次の反復値から。これの背後にある理由は何か、これを克服する方法です。以下は同じもののためのコードです。変数sampleData [0]の値が空になり、配列の残りの値がコードごとにNaNになります。reactJsの初期呼び出しの空の状態の値
var sampleData = [];
var Sample = React.createClass({
getInitialState: function() {
return { resValue : {} };
},
componentDidMount: function(){
this.update();
},
update: function(){
new plotMovingLine(document.getElementById("movingLine"),[[0]], lineOptions);
this.getRandomData();
setTimeout(this.update, 2000);
},
getRandomData: function() {
var value=0,cal=0;
this.getData();
console.log(this.state.resValue); //Initial object value displaying empty
if(sampleData.length == 0)
{ sampleData[0]=this.state.resValue;
console.log(sampleData[0]); }
else{
value=sampleData[sampleData.length-1].val;
cal= this.state.resValue.val-value;
sampleData.push({"val":cal});
}
},
getData: function(){
this.serverRequest = $.get("http://localhost:8088/data", function(data) {
this.setState({
resValue: data
});
}.bind(this));
},
render: function() {
//view
}
});
以下は、上記コードのコンソールからのイメージです。
「次の反復から」という意味は?あなたは応答を得るためにアプリと対話しなければなりませんか? –
私はあなたの質問が分かりません、あなたは明確にすることができますか? – Crysfel
次の繰り返しは、 'update'関数を何度も何度も呼び出す' setIntreval'を使用したことを意味します。コードを確認してください。 – Worker