我最近从Angular转到了ReactJs。我正在使用jQuery进行API调用。我有一个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>
)
}
}
在这种情况下,您可以在中进行ajax调用componentDidMount
,然后进行更新state
export default class UserList extends React.Component {
constructor(props) {
super(props);
this.state = {person: []};
}
componentDidMount() {
this.UserList();
}
UserList() {
$.getJSON('https://randomuser.me/api/')
.then(({ results }) => this.setState({ person: results }));
}
render() {
const persons = this.state.person.map((item, i) => (
<div>
<h1>{ item.name.first }</h1>
<span>{ item.cell }, { item.email }</span>
</div>
));
return (
<div id="layout-content" className="layout-content-wrapper">
<div className="panel-list">{ persons }</div>
</div>
);
}
}
问题内容: 据我所知,可以在一个单元内进行调试。 但是,我有多个单元格之间的函数调用。 例如, 我试过的 我试图在cell-1的第一行中设置。但是它甚至在执行单元2之前就立即进入调试模式。 我试图在代码之前添加该行。但是,代码永远运行,永不停止。 在ipython笔记本中设置断点的正确方法是什么? 问题答案: 使用 ipdb 通过安装 用法: 用于逐行执行和进入函数使用,并退出调试提示使用。 有关
注意:当通过WebClient exchange()方法获得对ClientResponse的访问权限时,必须始终使用body或toEntity方法之一,以确保释放资源并避免HTTP连接池的潜在问题。如果不需要响应内容,可以使用bodyToMono(void.class)。但是,请记住,如果响应确实有内容,连接将被关闭,并且不会被放回池中。 我可以调用WebClient并忽略结果吗?或者是否有一个通
问题内容: 我正在为MongoDB使用Node.JS驱动程序,我想执行一个同步查询,例如: 问题是,db.open是一个异步调用(它不会阻塞),因此getAThing返回“ undefined”,我希望它返回查询结果。我确定我可以使用某种阻止机制,但我想知道执行此类操作的正确方法。 问题答案: 没有办法使这种同步变得不可怕。正确的方法是接受回调函数作为参数,然后在可用时调用该函数。 节点7.6+更
问题内容: 我正在寻找某种东西(最好是Firefox扩展),使我能够查看所有AJAX子请求。基本上,每当创建XMLHTTPRequest()时,我都想知道正在请求什么URL,以及随它一起传递了什么(如果有的话)GET和POST变量。 除非我想念它,否则在Firebug或Web Developer Toolbar中看不到任何类似的东西。 (以防万一,您想要这样做的主要原因是我想抓取使用JS加载其所有
问题内容: 当每个呼叫都取决于之前的呼叫是否已完成时,我试图找到创建异步呼叫的最佳方法。目前,我通过递归调用定义的流程函数来链接方法,如下所示。 这就是我目前正在做的。 然后我将其称为如下 虽然这对我来说非常好,但我不禁认为必须有一种更好(更简单)的方法。以后我的递归调用变得太深时,会发生什么? 注意 :我不是在浏览器中使用javascript,而是在Titanium框架中使用本机,这类似于Nod