I understand how to use it in simple situations:
{(this.state.show) ? <span>Show</span> : null}
But how to use it for big DOM?
{ if (this.state.show) {
<span className={this.state.className}>Hi</span>
{this.state.text}
} else {
{this.state.text}
}
}
Of course, it doesn't work. How to do it correctly?
You can't do that. I see two potential problems from what you've provided. First, you can only return one DOM node. Second, (and this might be because it's not your full code), your braces are not syntactically correct. Without knowing your full source code, you can try something like:
render: function() {
var header;
if (this.state.show) {
header = <span className={ this.state.className }>Hi</span>;
}
return <div>
{ header }
{ this.state.text }
</div>
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With