【发布时间】:2021-02-25 14:35:19
【问题描述】:
我的后端数据库存储了数百个产品,我想以异步方式将它们列出给前端响应用户,而无需等到所有数据都加载完毕。虽然我使用 api 兑现,但仍然需要几秒钟才能将产品列表映射到组件。
我使用带有 axios 和 async/wait 函数的 useAPI 挂钩从 api 获取数据。
有什么方法可以改善加载并定期更新组件吗? 如何在前端缓存数据以避免对数据库的过度调用?
import React from "react";
import useAPI from '../../api/useAPI'
import { ProductsListWrap, ProductCard } from '../../components'
const ProductsList = (props) => {
const handleSelect = (data) => {
console.log(data)
};
const [products, loading, error, retry] = useAPI('/api/v1/products');
return (
<ProductsListWrap>
{products.map((data, i) => {
return (
<ProductCard
handleSelect={() => handleSelect(data)}
key={i}
{...data}
/>
);
})}
</ProductsListWrap>
);
};
export default ProductsList;
【问题讨论】:
-
您好,您是否尝试使用
useState或 redux states 来存储和附加加载的产品?
标签: reactjs asynchronous axios react-hooks data-caching