Javascript React不为Ajax调用加载数据
我已经构建了一个React组件,我想在组件加载时将数据放入其中,但我总是将数组设置为空。据我所知,如果我必须将数据放入组件中,我应该在ComponentDidMount方法中这样做 下面是我的代码Javascript React不为Ajax调用加载数据,javascript,ajax,reactjs,components,Javascript,Ajax,Reactjs,Components,我已经构建了一个React组件,我想在组件加载时将数据放入其中,但我总是将数组设置为空。据我所知,如果我必须将数据放入组件中,我应该在ComponentDidMount方法中这样做 下面是我的代码 var Home = React.createClass({ componentDidMount(){ console.log('component mount'); var self = this; var str = "junk string"; $.aj
var Home = React.createClass({
componentDidMount(){
console.log('component mount');
var self = this;
var str = "junk string";
$.ajax({
url: "http://localhost:9000/checkoutcart/data/",
type : "get",
data : {
ajaxid: 4,
UserID: str
},
}).then(function (data) {
self.setState({movieItem: data});
});
},
getInitialState: function() {
console.log('getInitialState component mount');
return {movieItem:[]};
},
render: function() {
return (
<div>
<div>
<div>
<ol>
{this.state.movieItem.map(stuff => (
<li><h4>{stuff.title}</h4></li>
))}
</ol>
</div>
</div>
</div>
);
}
});
var Home=React.createClass({
componentDidMount(){
console.log(“组件安装”);
var self=这个;
var str=“垃圾字符串”;
$.ajax({
url:“http://localhost:9000/checkoutcart/data/",
键入:“获取”,
数据:{
阿贾西德:4,
用户ID:str
},
}).then(函数(数据){
self.setState({movieItem:data});
});
},
getInitialState:函数(){
log('getInitialState组件装载');
返回{movieItem:[]};
},
render:function(){
返回(
{this.state.movieItem.map(stuff=>(
{stuff.title}
))}
);
}
});
您是否检查了API响应?尝试在不使用var self=this的情况下执行此操作代码>我只是想知道你为什么使用这个版本的React?@Liam:我不确定你的评论??我只是想试试。@Geek你解决了吗?