ReactJs API返回未定义

9wbgstp7  于 12个月前  发布在  React
关注(0)|答案(2)|浏览(132)

我正在构建一个react应用程序,并使用以下代码从API获取数据:

import './App.css';
import {useEffect, useState} from 'react';

function App() {
  const [records, setRecords] = useState([]);

  useEffect(()=>{
    getData();
  }, []);

  const getData = async() => {
    const response = await fetch('https://localhost:7280/api/Student/GetAll')
    const recdata = await response.json
    setRecords(recdata["data"])
  }

  return (console.log(records));
}

export default App;

字符串
当我检查网络调用时,API返回以下响应:

{
"data": [
    {
        "id": 1,
        "firstName": "Harinda",
        "lastName": "Vithana",
        "email": "[email protected]",
        "telephone": "0744896164",
        "nic": "199400560123"
    },
    {
        "id": 3,
        "firstName": "John",
        "lastName": "Cena",
        "email": "[email protected]",
        "telephone": "077164164",
        "nic": "78452123545"
    }
],
"success": true,
"message": ""
}


但在控制台中,它输出以下结果,而不是来自响应

的数据
我是React的新手,所以我不知道是什么导致了这个问题,或者这是否是获取数据的正确方法。如果我错过了一些明显的东西,请道歉。

4si2a6ki

4si2a6ki1#

你的代码看起来很好。但是有一个小的语法错误。

const getData = async() => {
    const response = await fetch('https://localhost:7280/api/Student/GetAll')
    const recdata = await response.json() // Corrected here 
  //const recdata = await response.json // Previously
    setRecords(recdata["data"])
  }

字符串
编码快乐!

hiz5n14c

hiz5n14c2#

.json是用于获取API的函数。因此,它将是response.json() over response.json
因此,getData()方法将是,

const getData = async() => {
    const response = await fetch('https://localhost:7280/api/Student/GetAll');
    const recdata = await response.json();
    setRecords(recdata["data"]);
  }

字符串
谢谢你,谢谢

相关问题