Politique de confidentialité — Wordix
Parfait 👑🔥
Très bon signe : ça veut dire que ton éditeur fonctionne… mais Next.js détecte du SSR.
🎯 Pourquoi cette erreur ?
Tiptap est client-only.
Même si ton fichier a :
"use client"
Next 14 peut quand même hydrater côté serveur →
et Tiptap détecte ça → 💥 crash volontaire.
✅ SOLUTION OFFICIELLE TIPTAP
Il faut ajouter :
immediatelyRender: false
dans useEditor.
🔥 Correction exacte
Modifie ton useEditor :
const editor = useEditor({
extensions: [
StarterKit,
Link.configure({
openOnClick: true,
autolink: true,
linkOnPaste: true,
HTMLAttributes: {
target: "_blank",
rel: "noopener noreferrer nofollow"
}
})
],
content,
immediatelyRender: false, // 👈 AJOUTER CETTE LIGNE
onUpdate: ({ editor }) => {
onChange(editor.getHTML())
}
})
🎯 Pourquoi ça marche ?
Par défaut :
immediatelyRender: true
Donc Tiptap essaie de rendre côté serveur → hydration mismatch.
En mettant false :
👉 Il attend que le client monte avant de rendre.
🚀 Si jamais ça ne suffit pas
Option ultra safe :
Importer dynamiquement l’éditeur.
Dans Admin :
import dynamic from "next/dynamic"
const RichTextEditor = dynamic(
() => import("@/components/RichTextEditor"),
{ ssr: false }
)
Mais normalement immediatelyRender: false suffit.
🧠 Pourquoi ça arrive ?
Next 14 + App Router
Server Components par défaut
Hydration strict
Tiptap est 100% client-based.
🏆 Après correction
Ton admin sera :
✔ Stable
✔ SSR safe
✔ No hydration mismatch
✔ Production ready
Si tu veux 👑
On peut maintenant :
🖼 Ajouter upload image dans l’éditeur
📎 Ajouter bouton email auto
📄 Ajouter export PDF des policies
🧠 Ajouter génération IA automatique des politiques
Tu veux passer au niveau CMS SaaS complet ? 🚀