Nel mio JSX, ho un caso di una logica di rendering condizionale - quando l'elemento A rende qualcosa (è render()
funzione restituisce qualcosa di diverso da null
), poi anche il rendering elemento B, appena sopra l'elemento A.C'è un modo per dire se ReactElement esegue il rendering "null"?
Esempio di codice (semplificato) sarebbe simile a questa:
function render() {
let elemA = (<ElementA someProp={this.someVar} />);
if (elemA.isNull()) {
return (
<div>
{ ...someElements }
</div>
);
}
return (
<div>
{ ...someElements }
<ElementB />
{ elemA }
</div>
);
}
Quindi la mia domanda è - c'è un modo per avere l'assegno elemA.isNull()
?
reazione può non "sapere" se Elema ha reso nulla, a questo punto, dal momento che il metodo render solo descrive una struttura . – David
Ok, quindi in questo caso, vedo due opzioni per risolvere questo: ** a) ** Creare un metodo personalizzato all'interno della classe ElementA, che mi dirà se renderà '' null'' o qualcos'altro ** b) ** Sposta il rendering condizionale all'interno di ElementA e passa qualsiasi cosa per renderizzare come oggetto di scena. | Non sono sicuro che la prima opzione sia effettivamente possibile, anche se ... – mdziekon
Se ElementA è un componente puro (onky descritto da oggetti di scena), allora dovrebbe anche essere possibile dire da this.someVar se l'ElementA dovrebbe essere reso. – wintvelt