我有一些带有json的URL,需要读取数据。在本例中,json如下所示:
{
"results": [
...
],
"info": {
...
}
}
我想将获取的数据作为组件的属性返回。最好的方法是什么?我试着用axios做到这一点。我设法获取数据,但在render()方法中设置state之后,我收到了一个空对象。以下是代码:
export default class MainPage extends React.Component {
constructor(props: any) {
super(props);
this.state = {
list: {},
};
}
public componentWillMount() {
axios.get(someURL)
.then( (response) => {
this.setState({list: response.data});
})
.catch( (error) => {
console.log("FAILED", error);
});
}
public render(): JSX.Element {
const {list}: any = this.state;
const data: IScheduler = list;
console.log(data); // empty state object
return (
<div className="main-page-container">
<MyTable data={data}/> // cannot return data
</div>
);
}
}
我不知道为什么在render()方法中数据消失了。如果我把
console.log(response.data);
在。然后部分,我获得状态为200的数据。
所以我现在问是否有其他方法可以做到这一点。我将感谢任何帮助。
----更新----在此之后,我在MyTable组件中发现一个错误:
const flightIndex: number
= data.results.findIndex((f) => f.name === result);
错误是:
Uncaught TypeError: Cannot read property 'findIndex' of undefined
这里怎么了?如何判断这不是财产?
在React中,在您将ajax结果存储在组件的状态(您似乎正在这样做)后,您可以通过调用this.state.list检索该结果
因此,为了确保它正常工作,请尝试
https://daveceddia.com/ajax-requests-in-react/
在返回请求之前,React将尝试呈现组件。然后,一旦请求完成并返回数据,react将在setState调用后重新呈现组件。
问题是您的代码没有考虑空/未定义的数据对象。只需添加一个检查,即。
if (data && data.results) {
data.results.findIndex(...);
} else {
// display some loading message
}
问题内容: 我正在尝试将数据从一页传递到另一页。 www.mints.com?name=某物 如何使用JavaScript 阅读? 问题答案: 下面的a代码可以工作,并且在不可用的情况下仍然有用,但是它是在JavaScript中没有本机解决方案的时候编写的。在现代浏览器或Node.js中,更喜欢使用内置功能。 用法如下: 它返回一个像这样的对象: 所以 给
问题内容: 在JSP中,如何从URL获取参数? 例如,我有一个www.somesite.com/Transaction_List.jsp?accountID=5 要获取的 URL5 。 是否有request.getAttribute(“ accountID”)之类的会话或类似内容? 问题答案: 在GET请求中,请求参数取自查询字符串(URL上问号后面的数据)。例如,URL http://hostn
我正在创建一个fetchBill函数。分配https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c到一个api变量。它使用浏览器的fetch函数向api发出HTTP请求。它在一个函数中使用箭头函数。然后调用fetch函数,并在将其转换为JSON后返回响应。使用另一个。然后调用第一个函数,该函数将JSON数据传递给displayCartTo
我需要拍摄一个div的屏幕截图,并需要将其发送到服务器(Java)进行存储。我公司项目中的现有代码使用Html2Canvas。js获取元素的位置(div,body…)返回base64数据URI,它工作正常,但在Chrome中冻结了应用程序。因此,我正在寻找其他解决方案,并从堆栈溢出中找到以下代码。 在这里,我得到的网址是Blob-Url(blob:https://fiddle.jshell.net
我试图获取一系列api数据。根据下面的api数据,每个系列都有自己的数据,例如,一系列“bannerData”有自己的数据id,banner_title...下一个系列“home ecatData”有自己的数据,比如id,category_title...等等 在我的例子中,endpointapi是http://localhost:8000/api/homepage/ 如何在reactjs中获取这
我需要从Excel表中读取数据,并需要将数据转换为键值对。 我已经写了下面的代码。 这是我的代码: 我得到的结果如下: 然而,我需要的输出,所有的头列应该来在映射键和相应的数据应该作为值。 我需要将我的数据设置为如下格式,请帮助<代码>地图