'use server'This feature is available in the latest Canary

Canary

'use server' sólo es necesario si estás usando React Server Components o construyendo una librería compatible con ellos.

'use server' marca funciones del lado del servidor que pueden llamarse desde el código del lado del cliente.


Referencia

'use server'

Añade 'use server'; en la parte superior de una función asíncrona para marcar que la función puede ser ejecutada por el cliente.

async function addToCart(data) {
'use server';
// ...
}

// <ProductDetailPage addToCart={addToCart} />

Esta función puede ser pasada al cliente. Cuando es llamada en el cliente, hará una petición de red al servidor que incluye una copia serializada de cualquier argumento pasado. Si la función del servidor devuelve un valor, ese valor será serializado y devuelto al cliente.

Alternativamente, añade 'use server' en la parte superior de un archivo para marcar todas las exportaciones dentro de ese archivo como funciones asíncronas del servidor que pueden ser usadas en cualquier lugar, incluso importadas en los archivos de componentes de cliente.

Advertencias

  • Recuerda que los parámetros de las funciones marcadas con 'use server' están totalmente controlados por el cliente. Por seguridad, trátalos siempre como entradas no confiables, asegurándote de validar y escapar los argumentos como sea apropiado.
  • Para evitar la confusión que podría resultar de mezclar código del lado del cliente y del lado del servidor en el mismo archivo, 'use server' sólo puede usarse en archivos del lado del servidor; las funciones resultantes pueden pasarse a componentes del cliente a través de props.
  • Dado que las llamadas de red subyacentes son siempre asíncronas, 'use server' sólo puede usarse en funciones asíncronas.
  • Directivas como 'use server' deben estar al principio de tu función o archivo, por encima de cualquier otro código incluyendo importaciones (los comentarios sobre las directivas están bien). Deben escribirse con comillas simples o dobles, no con comillas invertidas. (El formato de la directiva 'use xyz' se parece un poco a la convención de nomenclatura del Hook useXyz(), pero el parecido es coincidencia).

Uso

En construcción

Esta sección es un trabajo en progreso.

Esta API puede ser utilizada en cualquier framework que soporte React Server Components. Puede encontrar documentación adicional desde ellos.