W moim JSX mam przypadek warunkowego logiki renderowania - kiedy elementu A czyni coś (to render()
funkcja zwraca coś innego niż null
), a następnie także renderowanie elementu B, tuż nad elementem A.Czy istnieje sposób sprawdzenia, czy ReactElement renderuje wartość "null"?
Code (uproszczony) wyglądałby następująco:
function render() {
let elemA = (<ElementA someProp={this.someVar} />);
if (elemA.isNull()) {
return (
<div>
{ ...someElements }
</div>
);
}
return (
<div>
{ ...someElements }
<ElementB />
{ elemA }
</div>
);
}
Więc moje pytanie brzmi: - Czy istnieje jakiś sposób, aby mieć kontrolę elemA.isNull()
?
React może nie „wie” czy Elema świadczył niczego w tym momencie, ponieważ metoda renderowania tylko opisuje strukturę . – David
Ok, więc w takim przypadku widzę dwie opcje rozwiązania: ** a) ** Utwórz niestandardową metodę wewnątrz klasy ElementA, która powie mi, czy wyrenderuje '' null'' lub coś innego ** b) ** Przenieś renderowanie warunkowe wewnątrz elementu A i przekazuj cokolwiek do renderowania jako rekwizyt. | Nie jestem pewien, czy ta pierwsza opcja jest rzeczywiście możliwa, ale ... – mdziekon
Jeśli ElementA jest czystym komponentem (onky opisywany przez rekwizyty), to powinno być również możliwe odczytanie z this.someVar, czy ElementA byłby renderowany. – wintvelt