Descargar el trabajo de los clientes a su servidor es fácil con las acciones del servidor de Next.

La versión 13.4 de Next.js vino con un enrutador de aplicaciones estable y la capacidad de realizar mutaciones de datos con acciones del servidor. Esta característica es un cambio de juego absoluto porque le permite realizar mutaciones de datos completamente desde los componentes del servidor. Esto genera una gran cantidad de beneficios en áreas como la velocidad, la seguridad y el rendimiento general de la aplicación.

Aprenda qué son las acciones del servidor y cómo usar esta nueva función en su aplicación Next.js.

¿Qué son las acciones del servidor?

Las acciones del servidor le permiten escribir funciones únicas del lado del servidor junto con los componentes de su servidor. Esto es enorme porque ya no necesita escribir rutas API al enviar formularios o realizar cualquier otro tipo de mutación de datos, incluido Mutaciones de datos de GraphQL.

Puede tener funciones que se ejecutan en su servidor y luego puede llamarlas desde los componentes del cliente o del servidor. Esta es una función alfa en Next.js 13.4 y está construida sobre React Actions. El uso de acciones del servidor conduce a una reducción del JavaScript del lado del cliente y puede ayudarlo a crear formularios mejorados progresivamente.

instagram viewer

Ejemplo de acciones del servidor

Con las acciones del servidor, puede realizar mutaciones dentro de Next.js, en el servidor. Eche un vistazo a esta nueva función con una página de ejemplo de Next.js que muestra un formulario que le permite crear una publicación.

Estas son las importaciones:

importar Enlace de"siguiente/enlace"
importar Grupo de formularios de"@/componentes/FormGroup"
importar { revalidar etiqueta } de"siguiente/caché"
importar { redirigir } de"siguiente/navegación"

Ahora el código para crear la publicación. Esta función es una acción del servidor; se ejecuta en el servidor y envía el título y el cuerpo de la publicación a la API (que crea la publicación en la base de datos):

asíncronofuncióncrearPublicar(datos) {
"usar servidor"
constante titulo = datos.get("título")
constante cuerpo = datos.obtener("cuerpo")

esperar buscar(" http://127.0.0.1/posts", {
encabezado: {"Tipo de contenido": "aplicación/json"},
método: POST,
cuerpo: JSON.stringify({título, cuerpo})
})

revalidarTag("publicaciones")
redirigir ("/")
}

Esta función obtiene el título y el cuerpo de la publicación que luego envía al /posts punto final a través de una solicitud POST. Luego obliga al caché a actualizar el contenido asociado con la etiqueta "publicaciones" y lo redirige a la página de inicio.

Aquí hay un formulario para recopilar el título y el cuerpo de la nueva publicación:

exportarpor defecto NuevoPostForm() {
devolver (