Ich habe eine kleine Präsentationskomponente wie folgt:
%Vor%Und dann habe ich drei HOCs, die ich verwenden möchte, um MyList zu dekorieren:
%Vor%So:
%Vor%Leider kann ich den Status von WithData nicht innerhalb von WithLowercase oder WithUppercase ändern.
Wie stellen Sie den Zustand eines HOC den anderen HOCS in der Kette aus?
Sie möchten den Status nicht direkt anzeigen. Was Sie tun möchten, ist eine Funktion als Requisite an die umschlossene Komponente zu übergeben, mit der Sie den Status aktualisieren können.
Also, wenn wir die HOC nehmen und ein wenig Code hinzufügen, erstellen wir eine Funktion, um ihren Status zu aktualisieren, der nun an seine untergeordneten Komponenten weitergegeben werden kann:
%Vor%Jetzt können wir es innerhalb einer der untergeordneten Komponenten konsumieren:
%Vor%Die Weitergabe von Daten an die Kette von Komponenten läuft im Wesentlichen gegen das Muster, das die Verwendung verwendet, also den Datenfluss in eine Richtung. Daten gehen herunter, gehen aber nie wieder hoch. Wie @FuriousD sagte, sollten Sie die lowCase- und upperCase-Methoden für Komponenten weiter unten in der Kette verfügbar machen. Sie können dies mithilfe des Kontexts tun.
"In einigen Fällen möchten Sie Daten durch den Komponentenbaum weiterleiten, ohne die Requisiten manuell auf jeder Ebene zu übergeben. Sie können dies direkt in Reagieren mit der mächtigen" Kontext "API tun."
Hier ist ein Beispiel, das eine aktualisierte Version Ihres Codes verwendet.
%Vor%Tags und Links javascript reactjs