Suspense and resources
Load async data with useResource, show loading UI with Suspense, keep old data while refetching, handle failures, update optimistically, and understand how the resource cache works with server rendering.
After this page you can create resources with either form, read their state without suspending, decide where a Suspense boundary goes (it is the boundary around the reader), keep stale data on screen while it refreshes, route failures to an ErrorBoundary, and apply optimistic updates.