The goal of the route transition API is to enable suspense-like transition in React Router without using Suspense (much like v1).
On location changes, React Router will continue to send down the old location, activating pending hooks for loading states and optimistic UI, and wait for your Route's preloading hooks to resolve before sending down the new location and updating your app.
This enables you to declare data dependencies on your routes, allowing your route elements to expect data and not need to manage their own loading states.