TX014

在 <AppRouter> 外使用

主控台

Text.js error TX014: … must be used inside <AppRouter>. Run your app with `text dev`, or wrap it in <AppRouter routes={…}>.

發生原因

useRouter、usePathname、useParams、useSearchParams、useAppTheme 和 <Link> 會讀取 <AppRouter> 提供的狀態。元件在其外部渲染,通常出現在獨立的 renderToConsole 呼叫或單元測試中。

修正方式

使用 text dev、text start 或 text run 執行應用程式,這些指令會掛載 <AppRouter>。手動渲染時(測試、嵌入),請掛載路由器,而非頁面:

import { AppRouter } from "@textjs/app/router";await renderToConsole(<AppRouter routes={routes} />);