Christian Kruse: Frage zu REACT

Beitrag lesen

Hallo heinetz,

// […]
134.       <MwocAppContext.Provider value={this}>

Es-lint stört sich an den Zeilen 73-84 (react/no-unused-state). Die Regel habe ich grundsätzlich verstanden. Hier wird der state gesetzt, der in der Komponente garnicht benutzt wird. Allerdings verwende ich hier die Context-Api um in den Child-Komponenten auf den State zugreifen zu können.

Was mache ich falsch?

Die Context-API ist nicht dafür gedacht, dass du das koplette Objekt durchreichst. Das führt das komplette Konzept der Isolierung durch Komponenten ad absurdum.

Ich kann nicht mit Sicherheit sagen, was du hier falsch machst, da ich den Rest deines Codes nicht kenne. Aber <FooContext.Provider value={this} /> deutet ziemlich deutlich auf ein konzeptionelles Problem hin. Zumal this in deinem Fall ja auch Dinge enthält, die definitiv nicht an deine Kind-Komponenten weitergegeben werden sollten.

Ohne den Code deiner anderen Komponenten zu kennen würde ich vermuten, dass du besser fährst, wenn du nur die Dinge aus deinem State weiter reichst, die du in den Kind-Komponenten auch benötigst. Oder wenn, wenn du wirklich den ganzen State benötigst, dass du auch nur den State weiter reichst (<FooContexit.provider value={this.state} />).

LG,
CK