底线是:我通过 JSON API 从 Instagram 图片中提取链接。
import React from 'react';
const App = () => {
var requestURL = 'https://www.instagram.com/p/BwA-ZlRhHxq/?__a=1';
var request = new XMLHttpRequest();
request.open('GET', requestURL);
request.responseType = 'json';
request.send();
request.onload = function () {
request.response['graphql']['shortcode_media']['edge_sidecar_to_children']['edges'].map((name) =>
//<img src={name['node']['display_url']}/>
console.log(name['node']['display_url'])
)
};
return (
<p>{request.response}</p>
)
};
export default App;
如果我放置
return (
request.response['graphql']['shortcode_media']['edge_sidecar_to_children']['edges'].map((name) =>
<img src={name['node']['display_url']}/>
)
)
在onload里面,然后出现一个错误,render没有返回任何东西......
在这种情况下,它<p>{request.response}</p>是空的。如果您尝试在onload之外显示图片,那么它request.response是空的......
在onload里面,如果你做console.log,那么所有的链接都会被选中……我做错了什么???
Render 仅在组件发生更改时重新渲染组件
state,这不是您所做的。在下面的示例中:如果state.fetching = true显示加载器,则下载从 开始componentDidMount(),一旦下载完成,结果数组将被放入state(更改)并设置为fetching=false。结果用图片重绘了组件