Resources and boundaries
A rejected useResource stores the error (state === "errored", error) and throws it when the resource is read.
A rejected useResource stores the error (state === "errored", error) and throws it when the resource is read. Nothing is thrown, and nothing is reported, if nobody reads it. Because the read happens in the component that renders data(), a boundary above that component catches it. Reading data.latest never throws.
When the resource was created inside the boundary's children, reset disposes and recreates them, so the fetch runs again:
See Suspense and resources for pending states and refetching.