From 7cd9aa790cd94e5bca359c607934dee22c9f6eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Fri, 31 Jul 2026 17:45:04 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=94=B9=E7=94=A8map=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=B4=A0=E6=9D=90=E5=BA=93=E4=B8=AD=E7=B4=A0=E6=9D=90=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 考虑到整个素材库的规模可能很大, 改用map查询 --- src/components/image-editor/ImageCanvasEditorView.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/image-editor/ImageCanvasEditorView.tsx b/src/components/image-editor/ImageCanvasEditorView.tsx index d9ca86d83..91cd02163 100644 --- a/src/components/image-editor/ImageCanvasEditorView.tsx +++ b/src/components/image-editor/ImageCanvasEditorView.tsx @@ -1401,10 +1401,11 @@ export function ImageCanvasEditorView({ const downloadSelectedAssets = useCallback( (visibleAssetIds: string[]) => { const selectedIds = new Set(selectedAssetIds); + const assetById = new Map(assets.map((asset) => [asset.id, asset])); const selectedLayers = visibleAssetIds .filter((assetId) => selectedIds.has(assetId)) .map((assetId, index) => { - const asset = assets.find((item) => item.id === assetId); + const asset = assetById.get(assetId); if (!asset) { return null; }