Server Functions ('use server')
React 🟡 MidDéfinition
Fonctions asynchrones marquées 'use server' qui s'exécutent sur le serveur et dont le client reçoit une référence sérialisée. Nom officiel depuis septembre 2024 ; « Server Action » désigne le cas où la fonction est passée à une prop action. Appelables via <form action>, useActionState ou startTransition. Stables dans React 19 (5 décembre 2024) ; les arguments et retours doivent être sérialisables.
Analogie
Un bouton d'appel d'ascenseur : vous appuyez côté client, la machinerie côté serveur fait le travail, vous n'avez que le bouton.
Exemple de code
// actions.js
'use server';
export async function createNote(title) {
await requireUser(); // autorisation obligatoire
return db.notes.create({ title }); // retour sérialisable
}
// NoteForm.jsx
'use client';
import { createNote } from './actions';
function NoteForm() {
const [isPending, startTransition] = useTransition();
const save = () => startTransition(async () => { await createNote('Idée'); });
return <button onClick={save} disabled={isPending}>Créer</button>;
}
Cas d'usage
Mutations sans route API manuelle : formulaires, boutons d'action, appels RPC typés entre client et serveur.
Anti-pattern
Traiter une Server Function comme privée : c'est un endpoint HTTP exposé, à protéger comme une route API (validation, auth, dépendances à jour après la CVE-2025-55182).
Termes liés
Fiche mise à jour le 2026-09-27