codegouvfr / codegouvfr/react-dsfr
Problème d'hydratation React du composant Card
- Vorherrschende Sprache
- TypeScript
- Sterne
- 496
- Forks
- 99
- Ø Merge
- 15 Std. 36 Min.
- Gemergte PRs (30 T.)
- 4
Beschreibung
Hello,
Quand on utilise le composant Card avec un contenu complexe, une erreur d'hydratation React apparaît dans Next (j'utilise Next 14). Next passe du coup en client side rendering et on perd le bénéfice des composants serveurs.
Le problème semble provenir du fait que le composant Card wrap le contenu de la prop `desc` dans un p. Or HTML ne permet pas de mettre des div dans des p. Du coup, il y une désynchro entre ce que Node rend en corrigeant le HTML a sa façon et ce que le browser rend en le corrigeant à la sienne.
Est-ce délibéré de wrap dans un p les props `desc`, `detail` et `endDetail` ?
Edit: je vois, les exemples du DSFR ne comportent que des p pour la partie description p. ex. et React DSFR a respecté ça. Je me demande si ça ne vaut pas le coup de légèrement dévier du DSFR pour ce cas car sinon, ça rend le composant Card inutilisable pour des composants relativement complexes.
Beitragsleitfaden
Rechercherichtung
Start with the Card component and reproduce the issue in Next 14 using complex content in the desc, detail, or endDetail props. Compare the server-rendered HTML with the browser result and verify that the completed change no longer causes a React hydration error while preserving the documented Card behavior.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- next.js, react, typescript
- Bereich
- frontend
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100