对于那些有经验的人来说,我已经通读了一半的互联网……
我试图建立一个简单的示例,该示例从API提取数据并显示响应。 我已经从useState not returning data from fetch request复制了一个工作示例,并在学习基础知识的同时尝试对其进行调整。
该代码在“ API A”下工作正常,但在“ API B”下无法显示结果。
示例A:https://codesandbox.io/s/react-fetch-opensearch-m46vn API A:https://oss-services.dbc.dk/opensearch/5.2/?action=search&query=query&start=1&stepValue=3&outputType=json
示例B:https://codesandbox.io/s/react-fetch-algolia-ckb6w API B:https://hn.algolia.com/api/v1/search?query=react
问题:我有两个输出REST URL的JSON,而我只是想显示整个对象,所以为什么我用API A而不是API B得到结果?
工作示例代码:
import React, { useState, useEffect } from "react";
import ReactDOM from "react-dom";
const App = () => {
const [data, setData] = useState({});
useEffect(() => {
async function fetchData() {
const repsonse = await fetch(
"https://hn.algolia.com/api/v1/search?query=javascript"
);
const result = await repsonse.json();
setData({ result });
}
fetchData();
}, []);
console.log(data);
return <pre>{JSON.stringify(data, null, 4)}</pre>;
};
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);