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> 提供的状态。组件在 <AppRouter> 外部渲染,通常发生在独立的 renderToConsole 调用或单元测试中。

修复方法

使用 text dev、text start 或 text run 运行应用,这些命令会挂载 <AppRouter>。手动渲染时(测试、嵌入场景),挂载路由器而非页面:

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