Clarify useActionState async non-transition warning (#32207)

https://github.com/facebook/react/pull/28491#issuecomment-2094861155
This commit is contained in:
Sophie Alpert
2025-01-24 09:25:30 -08:00
committed by GitHub
parent de1eaa2655
commit b65afdd0c1
2 changed files with 8 additions and 7 deletions
+4 -3
View File
@@ -1494,9 +1494,10 @@ describe('ReactDOMForm', () => {
await act(() => dispatch());
assertConsoleErrorDev([
[
'An async function was passed to useActionState, but it was dispatched outside of an action context. ' +
'This is likely not what you intended. ' +
'Either pass the dispatch function to an `action` prop, or dispatch manually inside `startTransition`',
'An async function with useActionState was called outside of a transition. ' +
'This is likely not what you intended (for example, isPending will not update ' +
'correctly). Either call the returned function inside startTransition, or pass it ' +
'to an `action` or `formAction` prop.',
{withoutStack: true},
],
]);
+4 -4
View File
@@ -2231,10 +2231,10 @@ function handleActionReturnValue<S, P>(
if (__DEV__) {
if (!node.isTransition) {
console.error(
'An async function was passed to useActionState, but it was ' +
'dispatched outside of an action context. This is likely not ' +
'what you intended. Either pass the dispatch function to an ' +
'`action` prop, or dispatch manually inside `startTransition`',
'An async function with useActionState was called outside of a transition. ' +
'This is likely not what you intended (for example, isPending will not update ' +
'correctly). Either call the returned function inside startTransition, or pass it ' +
'to an `action` or `formAction` prop.',
);
}
}