From 38d1b51af39211cc4ee3dc4667404d7deef1803a Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Tue, 4 Nov 2025 20:19:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Community/components/StockDetailPanel.js | 4 ++-- .../StockDetailPanel/hooks/useWatchlist.js | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/views/Community/components/StockDetailPanel.js b/src/views/Community/components/StockDetailPanel.js index 97a2fe72..fae14619 100644 --- a/src/views/Community/components/StockDetailPanel.js +++ b/src/views/Community/components/StockDetailPanel.js @@ -63,11 +63,11 @@ function StockDetailPanel({ visible, event, onClose }) { refreshQuotes } = useEventStocks(event?.id, event?.start_time); - // 自选股管理 + // 自选股管理(只在 Drawer 可见时加载) const { watchlistSet, toggleWatchlist - } = useWatchlist(); + } = useWatchlist(visible); // 实时监控管理 const { diff --git a/src/views/Community/components/StockDetailPanel/hooks/useWatchlist.js b/src/views/Community/components/StockDetailPanel/hooks/useWatchlist.js index 81e94848..3dd05e1a 100644 --- a/src/views/Community/components/StockDetailPanel/hooks/useWatchlist.js +++ b/src/views/Community/components/StockDetailPanel/hooks/useWatchlist.js @@ -9,9 +9,10 @@ import { logger } from '../../../../../utils/logger'; * 自选股管理 Hook * 封装自选股的加载、添加、移除逻辑 * + * @param {boolean} shouldLoad - 是否立即加载自选股列表(默认 true) * @returns {Object} 自选股数据和操作方法 */ -export const useWatchlist = () => { +export const useWatchlist = (shouldLoad = true) => { const dispatch = useDispatch(); // 从 Redux 获取自选股列表 @@ -23,10 +24,13 @@ export const useWatchlist = () => { return new Set(watchlistArray); }, [watchlistArray]); - // 初始化时加载自选股列表 + // 初始化时加载自选股列表(只在 shouldLoad 为 true 时) useEffect(() => { - dispatch(loadWatchlist()); - }, [dispatch]); + if (shouldLoad) { + logger.debug('useWatchlist', '条件加载自选股列表', { shouldLoad }); + dispatch(loadWatchlist()); + } + }, [dispatch, shouldLoad]); /** * 检查股票是否在自选股中