I can do
<p>Company: {{this.state.user.company}}</p>
but sometime company has no value. So how should I hide the entire
if the property of company is null?
I tried
<p>({this.state.user.company} ? 'Company: ' + {this.state.user.company} : '')</p>
But it doesn't work.
The hide () method hides the selected elements. Tip: This is similar to the CSS property display:none. Note: Hidden elements will not be displayed at all (no longer affects the layout of the page). Tip: To show hidden elements, look at the show () method.
The hide() method hides the selected elements. Tip: This is similar to the CSS property display:none. Note: Hidden elements will not be displayed at all (no longer affects the layout of the page). Tip: To show hidden elements, look at the show() method.
If a ternary expression isn't robust enough, you can use if statements outside of your JSX to determine which components should be used: Or if you prefer a more "inline" aesthetic, define immediately-invoked function expressions inside your JSX: In the example above, an ES6 arrow function is utilized to lexically bind the value of this.
Definition and Usage. The hide() method hides the selected elements. Tip: This is similar to the CSS property display:none. Note: Hidden elements will not be displayed at all (no longer affects the layout of the page).
Alternative syntax to Ori Drori's answer (I find this a bit easier to read):
render() {
return (
{this.state.user.company ? <p>Company: {this.state.user.company}</p> : null}
)
}
React doesn't render falsy values, so you can use short-circuit evaluation. If this.state.user.company
is null
, it will be ignored by react. If it's truthy, react will render the element after &&
.
render() {
return (
<div>
{this.state.user.company &&
<p>Company: {this.state.user.company}</p>
}
</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