From 6270226eadf00a5d94bfdc39182f38ab58844db7 Mon Sep 17 00:00:00 2001 From: jialin Date: Fri, 18 Apr 2025 15:12:09 +0800 Subject: [PATCH] chore: avoid repeat rendering for clicking same image --- .../playground/components/image-edit.tsx | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/pages/playground/components/image-edit.tsx b/src/pages/playground/components/image-edit.tsx index 9ff8a945..1e33e399 100644 --- a/src/pages/playground/components/image-edit.tsx +++ b/src/pages/playground/components/image-edit.tsx @@ -359,19 +359,25 @@ const GroundImages: React.FC = forwardRef((props, ref) => { handleUpdateImageList ]); - const handleOnImgClick = useCallback((item: any, isOrigin: boolean) => { - if (item.progress < 100 && !isOrigin) { - return; - } - setActiveImgUid(item.uid); - setImage(item.dataUrl); - setImageStatus({ - isOriginal: isOrigin, - isResetNeeded: false, - width: item.width, - height: item.height - }); - }, []); + const handleOnImgClick = useCallback( + (item: any, isOrigin: boolean) => { + if (item.progress < 100 && !isOrigin) { + return; + } + if (item.uid === activeImgUid) { + return; + } + setActiveImgUid(item.uid); + setImage(item.dataUrl); + setImageStatus({ + isOriginal: isOrigin, + isResetNeeded: false, + width: item.width, + height: item.height + }); + }, + [activeImgUid] + ); useEffect(() => { if (imageList.length > 0) {