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 호출이나 단위 테스트에서 발생해요.

해결 방법

<AppRouter>를 마운트해 주는 text dev, text start 또는 text run으로 앱을 실행하세요. 직접 렌더링할 때(테스트, 임베드)는 페이지 대신 라우터를 마운트하세요:

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