-1
AJAX呼び出し後のコンポーネントのレンダリングが必要です。 ReactJSAJAX呼び出し後のコンポーネントのレンダリングReactJS
import React from 'react';
import { render } from 'react-dom';
import { Card } from './components/Card';
class App extends React.Component{
constructor(){
super();
this.user = [];
console.log("constructor");
}
componentWillMount() {
console.log("componentWillMount 1");
$.ajax({
method:'get',
crossDomain: true,
url: "http://127.0.0.1:8000/product/"
}).done(function(res) {
this.user=res;
console.log("componentWillMount 2");
})
}
render(){
var us = this.user
console.log("render");
return(
<div className="container-fluid">
<div className="container">
<div className="row">
{(function (rows, i, len) {
while (i <len) {
rows.push(<div className="col-sm-3">
<Card user={us[i]}/>
</div>)
i++
}
return rows;
})([], 0, us.length)}
</div>
</div>
</div>
);
}
}
render(<App/>,window.document.getElementById("app"));
私はこの順序で欲しい:
が、この
ようにそのフォローをレンダリング- コンストラクタ
- コンストラクタ
- componentWillMount 1
- あなたはASYNC要求を持っているので、そのあなたが見るので、コンポーネントのレンダリングの前に、要求が完了することをguranteedなく
ありがとうShubhamカトリにアクセスするためにそれをバインドする必要があるとして、 –