Gibt es eine Möglichkeit zu sagen, ob ReactElement "null" liefert?

8

In meinem JSX habe ich eine bedingte Rendering-Logik - wenn Element A etwas rendert (es ist render() function gibt etwas anderes als null zurück), dann rende Element B, direkt über dem Element A.

Codebeispiel (vereinfacht) würde so aussehen:

%Vor%

Meine Frage ist also - Gibt es eine Möglichkeit, den elemA.isNull() Check zu haben?

    
mdziekon 14.10.2015, 22:04
quelle

3 Antworten

3

Nein, es gibt keine Möglichkeit zu bestimmen, was ein Kind mithilfe von React rendern wird. Der Standard Weg, dies zu tun, ist einige Utility-Funktion, die angibt, ob A wird rendern.

Etwas wie:

%Vor%     
Sophie Alpert 21.08.2016, 01:13
quelle
2

Sie können die folgende Komponente höherer Ordnung (HOC) verwenden, um die Rendermethode von ElementA abzufangen und zu erreichen, was Sie wollen:

%Vor%

Sie würden es so verwenden:

%Vor%     
Pablo 07.09.2016 17:41
quelle
0

Ich bin also in eine Situation geraten, in der ich feststecken musste, hier ist ein Weg, der funktioniert (obwohl die Hackerei dich zum Weinen bringen könnte).

Sollte nur als letzter Ausweg verwendet werden, da es sich wirklich um einen totalen Hack handelt und Sie je nach Komplexität der Komponente einen Leistungsverlust von ~ 0-20ms erleiden. (Provider ist dort vorausgesetzt, Sie verwenden redux und Ihre Komponente hängt von Ihrem Redux-Zustand):

%Vor%     
SirRodge 29.03.2017 21:40
quelle

Tags und Links