React + Fetch-相同的代码-不同的REST URL-不同的结果

时间:2019-11-10 11:23:33

标签: json rest api fetch

对于那些有经验的人来说,我已经通读了一半的互联网……

我试图建立一个简单的示例,该示例从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);

0 个答案:

没有答案