लोडिंग UI और एरर

loading.tsx, error.tsx, not-found.tsx, कंसोल में Redbox और Dev Overlay।

लोडिंग स्टेट और एरर बाउंड्री कंसोल में रेंडर होते हैं। हर रूट सेगमेंट के लिए इन्हें loading.tsx और error.tsx फ़ाइलों से तय करें।

लोडिंग UI

पेज के सस्पेंड होने पर फ़ॉलबैक दिखाने के लिए loading.tsx फ़ाइल जोड़ें।

app/sessions/[id]/loading.tsxtsx
import { Spinner } from "@textjs/app";export default function Loading() {  return <Spinner variant="dots" label="Loading session…" />;}
लाइव56×10 · booting Turbolog…tsx
preview://spinner:1
<Box className="flex-col gap-1 p-1">  <Spinner variant="dots" label="Loading session…" />  <Spinner variant="pulse" label="Streaming frames" /></Box>

एरर

रेंडर एरर पकड़ने के लिए error.tsx फ़ाइल जोड़ें। इसे एरर और एक reset फ़ंक्शन मिलता है।

app/sessions/[id]/error.tsxtsx
import { Text, useInput, type ErrorComponentProps } from "@textjs/app";export default function SessionError({ error, reset }: ErrorComponentProps) {  useInput((e) => e.input === "r" && reset());  return <Text color="danger">{error.message} · press r to retry</Text>;}

नहीं मिला

सबसे नज़दीकी not-found.tsx फ़ाइल रेंडर करने के लिए notFound() कॉल करें।

import { notFound } from "@textjs/app/navigation";if (!session) notFound();

कंसोल के अंदर Redbox

डेवलपमेंट में, हैंडल न हुए एरर कंसोल के अंदर मैसेज और सोर्स लोकेशन वाला ओवरले खोलते हैं। फ़ाइल ठीक करने पर यह बंद हो जाता है।

╭─ ▼ Unhandled Runtime Error ─────────────────╮│  TypeError: Cannot read 'title'             ││  app/sessions/[id]/page.tsx (14:27)         │╰───────────────────────────── esc dismiss ───╯

Dev Overlay

डेवलपमेंट में, कंसोल के निचले-बाएं कोने में मौजूद [▼] पिल Dev Overlay है। इसे खोलने और रूट, फ़्रेम टाइमिंग और लेआउट की जांच करने के लिए F2 या Ctrl+` दबाएं। इसे बंद करने के लिए devIndicators: false इस्तेमाल करें।

GitHub पर यह पेज एडिट करें