From 57548c791d5955760170720c532f5e1f21a4b42f Mon Sep 17 00:00:00 2001 From: Sakurasan <26715255+Sakurasan@users.noreply.github.com> Date: Sat, 22 Aug 2026 00:10:48 +0800 Subject: [PATCH] fix: null guard toFixed in ThemeStockRow to prevent crash when API returns null --- src/routes/theme.$code.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/routes/theme.$code.tsx b/src/routes/theme.$code.tsx index fda137c..513d258 100644 --- a/src/routes/theme.$code.tsx +++ b/src/routes/theme.$code.tsx @@ -351,11 +351,11 @@ function NewsList({ function ThemeStockRow({ stock }: { stock: ThemeStock }) { const [showReason, setShowReason] = useState(true); // 入选理由默认展开 const board = getStockBoard(stock.securityCode); - const isPos = stock.f3 >= 0; + const isPos = (stock.f3 ?? 0) >= 0; const reasons = stock.keywordList ?? []; // 换手率:接口返回放大 100 倍的值(如 3733 = 37.33%) - const turnoverRate = stock.f8 > 100 ? stock.f8 / 100 : stock.f8; + const turnoverRate = stock.f8 != null ? (stock.f8 > 100 ? stock.f8 / 100 : stock.f8) : null; return ( @@ -381,13 +381,13 @@ function ThemeStockRow({ stock }: { stock: ThemeStock }) {

现价

-

{stock.f2.toFixed(2)}

+

{stock.f2 != null ? stock.f2.toFixed(2) : "--"}

涨跌

{isPos ? "+" : ""} - {stock.f3.toFixed(2)}% + {stock.f3 != null ? stock.f3.toFixed(2) : "--"}%

@@ -398,7 +398,7 @@ function ThemeStockRow({ stock }: { stock: ThemeStock }) { {stock.f100 && ( {stock.f100} )} - 换手 {turnoverRate.toFixed(2)}% + 换手 {turnoverRate != null ? turnoverRate.toFixed(2) : "--"}% 主力 {formatMoney(stock.f62)} 成交 {formatMoney(stock.f6)}