【发布时间】:2021-06-29 01:25:49
【问题描述】:
嘿伙计们,我已经学习了几个星期了 react,所以请放轻松 =)。当我使用虚拟数据时,过滤器功能起作用并在类别中显示正确的产品。我使用 django 构建了后端 api,现在我的过滤器功能不再起作用。它确实会过滤,但在按下不同的过滤器按钮后数据会完全消失。有人可以帮忙吗?
import React, { useState, useEffect } from "react";
import axios from "axios";
import ButtonList from "../components/ButtonList";
import ProductList from "../components/ProductList";
const ProductPage = () => {
const [products, setProducts] = useState([]);
useEffect(() => {
const fetchProduct = async () => {
const { data } = await axios.get("/api/products/");
setProducts(data);
};
fetchProduct();
}, []);
const filter = (button) => {
if (button === "All") {
setProducts(products);
return;
}
const filteredData = products.filter(
(products) => products.category === button
);
setProducts(filteredData);
};
return (
<div>
<ButtonList onClickFilter={filter} />
<ProductList product={products} />
</div>
);
};
export default ProductPage;
【问题讨论】:
标签: reactjs database filter react-hooks