From 6526c56bf5e6d16fd28270bd91c934159d9262ea Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Thu, 30 Jul 2026 00:57:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20products=E8=AE=A1=E7=AE=97=E4=BD=BF?= =?UTF-8?q?=E7=94=A8useMemo=E9=81=BF=E5=85=8D=E9=87=8D=E5=A4=8D=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E7=9A=84=E6=80=A7=E8=83=BD=E5=9B=9E=E5=BD=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../products/hooks/useProductList/index.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/apps/web/src/pages/products/hooks/useProductList/index.ts b/apps/web/src/pages/products/hooks/useProductList/index.ts index fdc30a8d2..1452a46e5 100644 --- a/apps/web/src/pages/products/hooks/useProductList/index.ts +++ b/apps/web/src/pages/products/hooks/useProductList/index.ts @@ -1,3 +1,4 @@ +import { useMemo } from "react" import { useQuery } from "@tanstack/react-query" import { getProducts, type ProductItem as ApiProductItem } from "@/api/products" import { mapApiProduct } from "../../utils" @@ -21,13 +22,15 @@ export const useProductList = () => { }) // 映射为前端类型,按创建时间倒序排列,防御非数组返回 - const products = (Array.isArray(apiProducts) ? apiProducts : []) - .map(mapApiProduct) - .sort((a, b) => { - if (!a.date || a.date === "—") return 1 - if (!b.date || b.date === "—") return -1 - return new Date(b.date).getTime() - new Date(a.date).getTime() - }) + const products = useMemo( + () => + (Array.isArray(apiProducts) ? apiProducts : []).map(mapApiProduct).sort((a, b) => { + if (!a.date || a.date === "—") return 1 + if (!b.date || b.date === "—") return -1 + return new Date(b.date).getTime() - new Date(a.date).getTime() + }), + [apiProducts], + ) /* 筛选 */ const {