【发布时间】:2021-09-11 22:54:15
【问题描述】:
我目前正在使用 React 和 TypeScript 构建一个 Web 应用程序。我正在尝试获取自定义构建的 API。但是,它返回的太多了。在将它们存储为状态后,如何访问整个 API 以对它们进行过滤?
import React, { useEffect, useState } from "react";
import axios from "axios";
interface Invoice {
id: number;
customer_id: number;
customer_name: string;
date: string;
total_invoice: number;
total_margin: number;
region: string;
invoice_lines: [
{
product_id: number;
product_name: string;
unit_price: number;
quantity: number;
total_line: number;
total_margin: number;
}
];
}
function App() {
const [data, setData] = useState<Invoice[]>([]);
useEffect(() => {
axios.get<Invoice[]>("http://localhost:3001/api/invoices").then(res => setData(res.data));
console.log(data);
}, []);
return (
<React.Fragment>
<header>
<h1>Hello</h1>
</header>
<main>
{data.map(d => (
<p key={d.id}>{d.customer_name}</p>
))}
</main>
</React.Fragment>
);
}
export default App;
【问题讨论】:
-
对象太多,是不是有多个响应?
-
我已添加响应图片
-
原因和解决方法参考我下面的回答。
标签: reactjs typescript axios