【发布时间】:2016-12-09 02:25:11
【问题描述】:
我最近从 Angular 转到了 ReactJs。我正在使用 jQuery 进行 API 调用。我有一个 API,它返回要打印在列表中的随机用户列表。
我不确定如何编写我的 API 调用。这方面的最佳做法是什么?
我尝试了以下方法,但没有得到任何输出。如有必要,我愿意实施替代 API 库。
下面是我的代码:
import React from 'react';
export default class UserList extends React.Component {
constructor(props) {
super(props);
this.state = {
person: []
};
}
UserList(){
return $.getJSON('https://randomuser.me/api/')
.then(function(data) {
return data.results;
});
}
render() {
this.UserList().then(function(res){
this.state = {person: res};
});
return (
<div id="layout-content" className="layout-content-wrapper">
<div className="panel-list">
{this.state.person.map((item, i) =>{
return(
<h1>{item.name.first}</h1>
<span>{item.cell}, {item.email}</span>
)
})}
<div>
</div>
)
}
}
【问题讨论】:
-
我取决于你使用的是什么状态管理库。如果您没有使用任何,您可以将您的 api 调用移动到单独的文件,并在
componentDidMount回调中调用您的情况下的 api 函数。 -
如果你只用jQuery做Ajax请求,可以用
fetch()代替jQuery。 -
为什么要使用 Jquery? jquery 是一个庞大的库,没有必要
-
只是在这里添加,目前
useEffect可能是现在放置 api 调用的地方。见btholt.github.io/complete-intro-to-react-v5/effects
标签: javascript jquery reactjs