Check action status
You can check the current action execution status using either the status
property or the shorthand properties returned by all hooks.
Via status
property
status
property is a discriminated string, so it can only be one of the following values at any given time: idle
, executing
, hasSucceeded
, hasErrored
.
Via shorthand properties
Shorthand properties are convenience booleans that are true
if the corresponding action status string is of the same value. Other than isIdle
, isExecuting
, hasSucceeded
and hasErrored
, also isTransitioning
and isPending
are returned by all three hooks.
Difference between isExecuting
, isTransitioning
, and isPending
The difference between these three properties is that isExecuting
is true
when the Server Action is actually being executed, isTransitioning
is true when the under the hood value from useTransition
hook is true
(so, when the transition is in progress), and isPending
is true
when isExecuting
or isTransitioning
are true
.
The safest and recommended way to check if the action is in progress is to use isPending
property, because using just isExecuting
could cause some weird glitches when navigation functions like redirect
are used inside the Server Action.