React Dojo

Buscar

Busca conceptos, ejercicios y quizzes

Hook · React 19

useActionState

Estado desde una acción de formulario

useActionState conecta una acción async a un estado local. Recibe la función action y un estado inicial; devuelve el estado actual, la action lista para usar como atributo del form, y un flag isPending.

La firma

const [state, formAction, isPending] = useActionState(fn, initial). La fn recibe el estado anterior y el FormData, y retorna el nuevo estado — sync o async.

Sin useState extra

A diferencia del patrón clásico onSubmit + useState, useActionState centraliza el flujo: un solo lugar maneja lógica, estado y pending. Funciona con y sin JS habilitado (progressive enhancement).

Tropiezos comunes

  • 01La action recibe el estado ANTERIOR como primer argumento — no olvides retornar el nuevo estado en cada rama.
  • 02isPending se activa en cuanto se dispara la action y se desactiva cuando resuelve.
  • 03No mezcles useActionState con onSubmit en el mismo form — elige uno u otro.
¿Fue útil?
Inicia sesión para dar feedback