In HTML, <div> cannot be a descendant of <p>.
This will cause a hydration error.
Die Meldung steht seit Phase 3 in der Konsole des Entwicklungsservers.
Warum das stört
Ein <div> in einem <p> ist kein gültiges HTML. Der Browser schließt den Absatz von sich aus vor dem <div> — der Baum, den er baut, sieht anders aus als der, den React erwartet. Das ist der klassische Auslöser für einen Hydration-Fehler: die Seite wird nach dem Laden noch einmal neu aufgebaut, und der Zustand von Formularfeldern geht dabei verloren.
Dass es bisher nicht aufgefallen ist, heißt nur, dass es an dieser Stelle keine Formularfelder trifft.
Vermutete Stelle
src/app/(app)/einsaetze/[id]/einsatz-detail.tsx — vermutlich eine CardDescription (rendert <p>), in der ein Abzeichen oder eine Zeile mit eigenem Rahmen steht.
Lösungsvorschlag
Die betroffene Stelle suchen und den Absatz durch ein <div> ersetzen, das dieselben Klassen trägt. Danach die Konsole bei geöffnetem Einsatz gegenlesen — es kann mehr als eine Stelle sein.
Mit der ESLint-Konfiguration aus dem Nachbar-Issue wäre so etwas künftig zu sehen, bevor es jemand in der Konsole entdeckt.
Betrifft
src/app/(app)/einsaetze/[id]/einsatz-detail.tsx
## Beobachtung
React meldet beim Öffnen eines Einsatzes:
```
In HTML, <div> cannot be a descendant of <p>.
This will cause a hydration error.
```
Die Meldung steht seit Phase 3 in der Konsole des Entwicklungsservers.
## Warum das stört
Ein `<div>` in einem `<p>` ist kein gültiges HTML. Der Browser schließt den Absatz von sich aus vor dem `<div>` — der Baum, den er baut, sieht anders aus als der, den React erwartet. Das ist der klassische Auslöser für einen Hydration-Fehler: die Seite wird nach dem Laden noch einmal neu aufgebaut, und der Zustand von Formularfeldern geht dabei verloren.
Dass es bisher nicht aufgefallen ist, heißt nur, dass es an dieser Stelle keine Formularfelder trifft.
## Vermutete Stelle
`src/app/(app)/einsaetze/[id]/einsatz-detail.tsx` — vermutlich eine `CardDescription` (rendert `<p>`), in der ein Abzeichen oder eine Zeile mit eigenem Rahmen steht.
## Lösungsvorschlag
Die betroffene Stelle suchen und den Absatz durch ein `<div>` ersetzen, das dieselben Klassen trägt. Danach die Konsole bei geöffnetem Einsatz gegenlesen — es kann mehr als eine Stelle sein.
Mit der ESLint-Konfiguration aus dem Nachbar-Issue wäre so etwas künftig zu sehen, bevor es jemand in der Konsole entdeckt.
## Betrifft
`src/app/(app)/einsaetze/[id]/einsatz-detail.tsx`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Beobachtung
React meldet beim Öffnen eines Einsatzes:
Die Meldung steht seit Phase 3 in der Konsole des Entwicklungsservers.
Warum das stört
Ein
<div>in einem<p>ist kein gültiges HTML. Der Browser schließt den Absatz von sich aus vor dem<div>— der Baum, den er baut, sieht anders aus als der, den React erwartet. Das ist der klassische Auslöser für einen Hydration-Fehler: die Seite wird nach dem Laden noch einmal neu aufgebaut, und der Zustand von Formularfeldern geht dabei verloren.Dass es bisher nicht aufgefallen ist, heißt nur, dass es an dieser Stelle keine Formularfelder trifft.
Vermutete Stelle
src/app/(app)/einsaetze/[id]/einsatz-detail.tsx— vermutlich eineCardDescription(rendert<p>), in der ein Abzeichen oder eine Zeile mit eigenem Rahmen steht.Lösungsvorschlag
Die betroffene Stelle suchen und den Absatz durch ein
<div>ersetzen, das dieselben Klassen trägt. Danach die Konsole bei geöffnetem Einsatz gegenlesen — es kann mehr als eine Stelle sein.Mit der ESLint-Konfiguration aus dem Nachbar-Issue wäre so etwas künftig zu sehen, bevor es jemand in der Konsole entdeckt.
Betrifft
src/app/(app)/einsaetze/[id]/einsatz-detail.tsx