Maison > interface Web > js tutoriel > Fonctions du serveur React

Fonctions du serveur React

Susan Sarandon
Libérer: 2024-12-24 17:44:14
original
164 Les gens l'ont consulté

Les fonctions serveur sont des fonctions référencées sur le client mais exécutées sur le serveur.

Voici un exemple :

'use client'

import { useActionState } from "react";

import { updateName } from "@/app/react-19-server-function/actions";


export default function Page() {

    const [error, submitAction, isPending] = useActionState(
        async (_previousState, formData) => {
            const error = await updateName(formData.get("name") as string);
            if (error) {
                return error;
            }

            return ""
        },
        "",
    );

    return <div>
        <h1>React 19: Server Functions</h1>
        <fieldset>
            <div>Name</div>

            <form action={submitAction}>
                <input type="text" name="name" />

                <button type="submit" disabled={isPending}>Save</button>
            </form>

            <div>
                {error && <p>{error}</p>}
            </div>
        </fieldset>
    </div>
}
Copier après la connexion

Consultez mon message précédent pour plus de détails sur useActionState

Remarquez comment updateName est importé.

import { updateName } from "@/app/react-19-server-function/actions";
Copier après la connexion

et transmis à useActionState.

Cela signifie que chaque fois que le formulaire est soumis, il exécute submitAction, qui appelle ensuite updateName.

Maintenant, regardons updateName :

"use server";

export async function updateName(name) {
  if (name?.length < 2) {
    return "Name must be at least 2 characters.";
  }

  return "";
}
Copier après la connexion

C'est une fonction très simple qui vérifie la longueur du nom. S'il contient moins de 2 caractères, il renvoie une erreur ; sinon, il renvoie une chaîne vide, ce qui signifie aucune erreur.

Une autre chose à noter est la directive : "use server". Cela indique à React que la fonction sera exécutée sur le serveur, cela crée donc une référence que le client peut utiliser.

L'interface utilisateur est très simple et ressemble à ceci :

React  Server Functions

Si le formulaire est soumis sans aucune valeur, vous remarquerez une requête du réseau POST avec quelques détails intéressants :

  • type de contenu : est un composant texte/x.

React  Server Functions

  • La charge utile est transmise automatiquement, même si elle est vide.

React  Server Functions

  • La réponse est un peu comme JSON.

React  Server Functions

Links

  • Base de code

Conclusion

Les fonctions serveur sont des fonctions qui s'exécutent sur le serveur. L'alternative consiste à utiliser manuellement fetch pour faire une requête au backend et gérer des choses comme la lecture du code d'état et l'analyse de la charge utile.

Avec les fonctions serveur, vous n'avez pas à vous soucier de la partie communication. Créez simplement une fonction avec la directive "use server" et importez-la dans un fichier client, le framework s'occupe du reste.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal