Where a blocking update lands while a Transition is still in flight
What a component mounting mid-Transition is allowed to display
When a promise in a store shows a fallback, and when it must not
What actually clears a rejected promise behind an error boundary
React’s documentation advises against suspending a render on a value read with useSyncExternalStore. A mutation to an external store cannot be marked as a Transition, so it triggers the nearest Suspense fallback and replaces content that is already on screen. It also notes that a store mutated during a Transition makes React redo that update as a blocking one.
Every panel below suspends on a store value on purpose. These are the six guarantees that makes possible.
Rebasing
A blocking update applies to what is on screen
Each letter is an action.
on screen∅store∅
idle
Click the buttons, or press Run
Tearing
A component mounting mid-Transition shows what its siblings show