You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Flight Data Types in Server Actions {/*flight-data-types-actions*/}
288
288
289
-
This demo sends Map, Set, Date, and BigInt from a client component *to* a server action via `encodeReply`/`decodeReply`, then verifies the types survived the round trip.
289
+
This demo sends Map, Set, Date, and BigInt from a client component *to* a Server Action via `encodeReply`/`decodeReply`, then verifies the types survived the round trip.
290
290
291
291
<SandpackRSC>
292
292
@@ -310,7 +310,7 @@ export default async function App() {
310
310
))}
311
311
</div>
312
312
) : (
313
-
<p>Click the button to send typed data to the server action.</p>
313
+
<p>Click the button to send typed data to the Server Action.</p>
## Server Action Mutation + Re-render {/*action-mutation-rerender*/}
392
392
393
-
The server action mutates server-side data and returns a confirmation string. The updated list is only visible because the framework automatically re-renders the entire server component tree after the action completes — the server component re-reads the data and streams the new UI to the client.
393
+
The Server Action mutates server-side data and returns a confirmation string. The updated list is only visible because the framework automatically re-renders the entire server component tree after the Action completes — the server component re-reads the data and streams the new UI to the client.
394
394
395
395
<SandpackRSC>
396
396
@@ -407,7 +407,7 @@ export default function App() {
## Inline Server Actions {/*inline-server-actions*/}
489
489
490
-
Server actions defined inline inside a server component with `'use server'` on the function body. The action closes over module-level state and is passed as a prop — no separate `actions.js` file needed.
490
+
Server Actions defined inline inside a server component with `'use server'` on the function body. The Action closes over module-level state and is passed as a prop — no separate `actions.js` file needed.
Copy file name to clipboardExpand all lines: src/content/reference/react/useActionState.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ function MyCart({initialState}) {
60
60
* The `dispatchAction` function has a stable identity, so you will often see it omitted from Effect dependencies, but including it will not cause the Effect to fire. If the linter lets you omit a dependency without errors, it is safe to do. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect)
61
61
* When using the `permalink` option, ensure the same form component is rendered on the destination page (including the same `reducerAction` and `permalink`) so React knows how to pass the state through. Once the page becomes interactive, this parameter has no effect.
62
62
* When using Server Functions, `initialState` needs to be [serializable](/reference/rsc/use-server#serializable-parameters-and-return-values) (values like plain objects, arrays, strings, and numbers).
63
-
* If `dispatchAction` throws an error, React cancels all queued actions and shows the nearest [Error Boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary).
63
+
* If `dispatchAction` throws an error, React cancels all queued Actions and shows the nearest [Error Boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary).
64
64
* If there are multiple ongoing Actions, React batches them together. This is a limitation that may be removed in a future release.
65
65
66
66
<Note>
@@ -269,7 +269,7 @@ Try clicking "Add Ticket" multiple times. Every time you click, a new `addToCart
269
269
270
270
We have to wait for the previous result of `addToCartAction` in order to pass the `prevCount` to the next call to `addToCartAction`. That means React has to wait for the previous Action to finish before calling the next Action.
271
271
272
-
You can typically solve this by [using with useOptimistic](/reference/react/useActionState#using-with-useoptimistic) but for more complex cases you may want to consider [cancelling queued actions](#cancelling-queued-actions) or not using `useActionState`.
272
+
You can typically solve this by [using with useOptimistic](/reference/react/useActionState#using-with-useoptimistic) but for more complex cases you may want to consider [cancelling queued Actions](#cancelling-queued-actions) or not using `useActionState`.
273
273
274
274
</DeepDive>
275
275
@@ -1423,7 +1423,7 @@ function action(prevState, formData) {
1423
1423
1424
1424
---
1425
1425
1426
-
### My actions are being skipped {/*actions-skipped*/}
1426
+
### My Actions are being skipped {/*actions-skipped*/}
1427
1427
1428
1428
If you call `dispatchAction` multiple times and some of them don't run, it may be because an earlier `dispatchAction` call threw an error.
1429
1429
@@ -1526,7 +1526,7 @@ function MyComponent() {
1526
1526
}
1527
1527
```
1528
1528
1529
-
Or pass `dispatchAction` to an Action prop, is call in a Transition:
1529
+
Or pass `dispatchAction` to an Action prop, which calls it in a Transition:
These solutions handle request ordering for you. When using Transitions to build your own custom hooks or libraries that manage async state transitions, you have greater control over the request ordering, but you must handle it yourself.
@@ -1248,7 +1248,7 @@ This is recommended for three reasons:
1248
1248
1249
1249
- [Transitions are interruptible,](#perform-non-blocking-updates-with-actions) which lets the user click away without waiting for the re-render to complete.
1250
1250
- [Transitions prevent unwanted loading indicators,](#preventing-unwanted-loading-indicators) which lets the user avoid jarring jumps on navigation.
1251
-
- [Transitions wait for all pending actions](#perform-non-blocking-updates-with-actions) which lets the user wait for side effects to complete before the new page is shown.
1251
+
- [Transitions wait for all pending Actions](#perform-non-blocking-updates-with-actions) which lets the user wait for side effects to complete before the new page is shown.
1252
1252
1253
1253
Here is a simplified router example using Transitions for navigations.
1254
1254
@@ -1945,7 +1945,7 @@ export async function updateQuantity(newName) {
1945
1945
1946
1946
When clicking multiple times, it's possible for previous requests to finish after later requests. When this happens, React currently has no way to know the intended order. This is because the updates are scheduled asynchronously, and React loses context of the order across the async boundary.
1947
1947
1948
-
This is expected, because Actions within a Transition do not guarantee execution order. For common use cases, React provides higher-level abstractions like [`useActionState`](/reference/react/useActionState) and [`<form>`actions](/reference/react-dom/components/form) that handle ordering for you. For advanced use cases, you'll need to implement your own queuing and abort logic to handle this.
1948
+
This is expected, because Actions within a Transition do not guarantee execution order. For common use cases, React provides higher-level abstractions like [`useActionState`](/reference/react/useActionState) and [`<form>`Actions](/reference/react-dom/components/form) that handle ordering for you. For advanced use cases, you'll need to implement your own queuing and abort logic to handle this.
1949
1949
1950
1950
1951
1951
Example of `useActionState` handling execution order:
Copy file name to clipboardExpand all lines: src/content/reference/rsc/server-functions.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ title: Server Functions
6
6
7
7
Server Functions are for use in [React Server Components](/reference/rsc/server-components).
8
8
9
-
**Note:** Until September 2024, we referred to all Server Functions as "Server Actions". If a Server Function is passed to an action prop or called from inside an action then it is a Server Action, but not all Server Functions are Server Actions. The naming in this documentation has been updated to reflect that Server Functions can be used for multiple purposes.
9
+
**Note:** Until September 2024, we referred to all Server Functions as "Server Actions". If a Server Function is passed to an action prop or called from inside an Action, then it is a Server Action, but not all Server Functions are Server Actions. The naming in this documentation has been updated to reflect that Server Functions can be used for multiple purposes.
10
10
11
11
</RSC>
12
12
@@ -174,7 +174,7 @@ For more, see the docs for [Server Functions in Forms](/reference/rsc/use-server
174
174
175
175
### Server Functions with `useActionState` {/*server-functions-with-use-action-state*/}
176
176
177
-
You can call Server Functions with `useActionState` for the common case where you just need access to the action pending state and last returned response:
177
+
You can call Server Functions with `useActionState` for the common case where you just need access to the pending state for the Action and the last returned response:
0 commit comments