diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 472224e58d9..7e92df71234 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -103,9 +103,9 @@ function SubmitButton({ submitAction }) { #### Caveats {/*starttransition-caveats*/} -* `useTransition` is a Hook, so it can only be called inside components or custom Hooks. If you need to start a Transition somewhere else (for example, from a data library), call the standalone [`startTransition`](/reference/react/startTransition) instead. +* `useTransition` is a Hook, so it can only be called inside components or custom Hooks. If you need to start a Transition somewhere else (for example, from a data library), call the standalone [`startTransition`](/reference/react/startTransition) instead. -* You can wrap an update into a Transition only if you have access to the `set` function of that state. If you want to start a Transition in response to some prop or a custom Hook value, try [`useDeferredValue`](/reference/react/useDeferredValue) instead. +* A state update is marked as a Transition only if its setter runs inside `startTransition`, directly or through a callback. If you only have the updated value from a prop or custom Hook, use [`useDeferredValue`](/reference/react/useDeferredValue) instead. * The function you pass to `startTransition` is called immediately, marking all state updates that happen while it executes as Transitions. If you try to perform state updates in a `setTimeout`, for example, they won't be marked as Transitions.