Suspense & error boundaries types
Use React.Suspense with lazy components and type robust Error Boundaries (class-based). Handle unknown errors safely and provide reset patterns.
Intro
Goal: Lazy-load components with React.lazy + Suspense, and add a typed Error Boundary that shows a friendly fallback and logs details.
- Suspense = loading UI
- Error Boundary = runtime error UI
- Type unknown errors safely
Lazy + Suspense
React.lazy returns a component type. Wrap it in Suspense to render a fallback while its module is loading.
import React, { Suspense } from "react"
const LazyWidget = React.lazy(async () => import("./Widget"))
export default function App() {
return (
<div style={{ display: "grid", gap: 8 }}>
<Suspense fallback={<span>Loading…</span>}>
<LazyWidget />
</Suspense>
</div>
)
}All lessons in this course
- Custom hooks with generics & inference
- Suspense & error boundaries types