在 react 中访问 RESTful API

Posted

技术标签:

【中文标题】在 react 中访问 RESTful API【英文标题】:access to RESTful API in react 【发布时间】:2020-11-28 23:41:18 【问题描述】:

我在服务器端有laravel,输入这个url可以显示api:http://localhost:8000/api/cabangs,并显示这个(以数据为例):

[
 
  "id":2,
  "nm_cabang":"zxcvb",
  "deskripsi":"poiuyt",
  "created_at":"2020-08-08T05:25:31.000000Z",
  "updated_at":"2020-08-08T05:29:23.000000Z"
 ,
 
  "id":3,
  "nm_cabang":"asdfg",
  "deskripsi":"qwerty",
  "created_at":"2020-08-08T05:28:26.000000Z",
  "updated_at":"2020-08-08T05:28:26.000000Z"
 
]

我只想显示nm_cabangdeskripsi。如果可能,请使用react hooks。谢谢

【问题讨论】:

欢迎来到 ***!请发布一些代码来展示您的目标,以便我们帮助进一步调试任何具体问题。 【参考方案1】:

你可以从这样的事情开始。 我假设这是针对网络的,所以我使用了 spandiv

const App: React.FC = () => 
  const [data, setData] = React.useState();
  const [isLoading, setLoading] = React.useState(true);

  React.useEffect(() => 
    const fetchData = async () => 
      try 
        const result = await fetch('http://localhost:8000/api/cabangs');
        if (result.ok)
        
            let json = await result.json();
            setData(json);
        
       catch (e) 
        //error
       finally 
        setLoading(false);
      
    ;
    fetchData();
  , []);

  if (isLoading) 
    return <span>Loading...</span>;
  

  return (
    <div>
      
      data ? (
        data.map((item) => 
          return <span>`$item.nm_cabang $item.deskripsi`</span>;
        )
      ) : (
        <></>
      )
      
    </div>
  );
;

【讨论】:

如果这是您第一次将前端连接到 api @Febry Aryo,这可能看起来很难理解。但这很简单,当您使用 axios 或 fetch 发出请求时,该方法会返回有关请求的对象信息,例如其状态码、来自 api 的数据和响应的标头,您可以进行任何您想要的操作想要获得这些信息。 这个问题解决了。我使用 axios 作为替代方案。感谢所有答案:)【参考方案2】:

使用 axios 或 fetch 之类的库,你只需要对 url 进行 http 请求,并使用你需要的数据。

https://github.com/axios/axios https://javascript.info/fetch

我喜欢 axios

【讨论】:

以上是关于在 react 中访问 RESTful API的主要内容,如果未能解决你的问题,请参考以下文章

保护 NodeJS RESTful API 和 React 客户端应用程序

在 RESTful Web 服务中访问 HttpServletRequest 对象

Rails:如何访问 RESTful 助手?

GatsbyJS 从 Restful API 获取数据

React Native - 同步调用restful API

??????React JS???PHP RESTful??????PayPal Express Checkout