diff --git a/src/views/StockOverview/index.js b/src/views/StockOverview/index.js index 4fad168d..db41f32a 100644 --- a/src/views/StockOverview/index.js +++ b/src/views/StockOverview/index.js @@ -259,14 +259,18 @@ const StockOverview = () => { const data = await response.json(); if (data.success) { - const newStats = { + // 使用函数式更新,避免 race condition 导致覆盖 heatmap 接口设置的 rising_count/falling_count + setMarketStats(prevStats => ({ ...data.summary, // 保留之前从 heatmap 接口获取的上涨/下跌家数 - rising_count: marketStats?.rising_count, - falling_count: marketStats?.falling_count, + rising_count: prevStats?.rising_count, + falling_count: prevStats?.falling_count, + date: data.trade_date + })); + const newStats = { + ...data.summary, date: data.trade_date }; - setMarketStats(newStats); // 日期和可选日期列表由 fetchTopConcepts 统一设置,这里不再设置 logger.debug('StockOverview', '市场统计数据加载成功', { date: data.trade_date