返回博客

Thursday, September 5, 2024

Utilisation des Composants Serveur React et des Actions Serveur dans Next.js

cover

Introduction : Améliorer Next.js avec les Composants Serveur React

Next.js a évolué pour inclure des fonctionnalités puissantes comme les Composants Serveur React et les Actions Serveur, qui offrent une nouvelle façon de gérer le rendu côté serveur et la logique. Ces fonctionnalités fournissent une approche plus efficace et rationalisée pour construire des applications web, vous permettant de récupérer des données et de rendre des composants sur le serveur sans compromettre les performances.

Dans cet article de blog, nous explorerons comment utiliser les Composants Serveur React et les Actions Serveur dans Next.js avec des exemples pratiques et des extraits de code.

Que sont les Composants Serveur React ?

Les Composants Serveur React (RSC) sont un nouveau type de composant introduit par React qui permet de rendre des composants sur le serveur. Cette approche aide à réduire la quantité de JavaScript envoyée au client et améliore les performances en déchargeant le travail de rendu vers le serveur.

Avantages des Composants Serveur React

  • Performances Améliorées : En effectuant le rendu sur le serveur, vous réduisez la quantité de JavaScript côté client et améliorez les temps de chargement.
  • Expérience Utilisateur Améliorée : Chargements de page initiaux plus rapides et interactions plus fluides.
  • Récupération de Données Simplifiée : Récupérez les données sur le serveur et transmettez-les directement aux composants.

Exemple : Création d'un Composant Serveur

Voici un exemple basique d'un Composant Serveur React dans une application Next.js :

// app/components/UserProfile.server.js
import { getUserData } from "../lib/api";

export default async function UserProfile() {
  const user = await getUserData();

  return (
    <div>
      <h1>{user.name}</h1>
      <p>{user.email}</p>
    </div>
  );
}

Dans cet exemple, UserProfile est un composant serveur qui récupère les données utilisateur sur le serveur et les affiche.

Que sont les Actions Serveur ?

Les Actions Serveur sont des fonctions qui s'exécutent sur le serveur en réponse aux interactions utilisateur ou à d'autres événements. Elles vous permettent de gérer la logique côté serveur, comme les soumissions de formulaires ou les requêtes API, directement depuis vos composants React.

Avantages des Actions Serveur

  • Logique Serveur Simplifiée : Écrivez du code côté serveur directement dans vos composants.
  • Sécurité Renforcée : Gérez les opérations sensibles sur le serveur plutôt que sur le client.
  • Performances Améliorées : Réduisez le JavaScript côté client et déchargez les tâches vers le serveur.

Exemple : Utilisation des Actions Serveur

Voici comment utiliser les Actions Serveur dans une application Next.js pour gérer les soumissions de formulaires :

// app/actions/submitForm.js
import { saveFormData } from "../lib/api";

export async function submitForm(data) {
  await saveFormData(data);
  return { success: true };
}
// app/components/ContactForm.js
"use client";

import { submitForm } from "../actions/submitForm";

export default function ContactForm() {
  const handleSubmit = async (event) => {
    event.preventDefault();
    const formData = new FormData(event.target);
    const result = await submitForm(Object.fromEntries(formData));
    if (result.success) {
      alert("Formulaire soumis avec succès !");
    }
  };

  return (
    <form onSubmit={handleSubmit}>
      <label>
        Nom :
        <input type="text" name="name" required />
      </label>
      <label>
        Email :
        <input type="email" name="email" required />
      </label>
      <button type="submit">Envoyer</button>
    </form>
  );
}

Dans cet exemple, submitForm est une action serveur qui traite les données du formulaire sur le serveur, et ContactForm est un composant client qui utilise cette action pour gérer les soumissions de formulaires.

Conclusion : Tirer Parti des Fonctionnalités Modernes pour de Meilleures Applications Web

Les Composants Serveur React et les Actions Serveur dans Next.js fournissent des outils puissants pour construire des applications web efficaces et modernes. En tirant parti de ces fonctionnalités, vous pouvez améliorer les performances, simplifier la logique côté serveur et créer une expérience utilisateur plus réactive.

Lorsque vous construisez vos applications Next.js, envisagez d'incorporer les Composants Serveur React et les Actions Serveur pour profiter pleinement des dernières avancées en matière de développement web.

Bon codage !

🚀✨