Using CSS Classes in JSX
Learn how to style React components using the built-in classnames package.
We'll cover the following
Declaring classes
It is much cleaner and nicer to use real CSS classes in JSX, just like we do in regular HTML, with
the difference being that we declare classes by using className
instead of class
:
<div className="item">...</div>
React renders normal syntax with our HTML equivalent:
<div class="item">...</div>
It is also quite common to concatenate values in the className
prop dynamically:
render() {
let className = 'item';
if (this.state.selectedItem === this.props.itemId) {
className += '-item-selected';
}
return (
<div className={className}>
...
</div>
);
}
In this example, the value for className
is item
in each case. If the selected item is the current item, it also gets the class item-item-selected
. Let’s see this example in action.
Get hands-on with 1200+ tech skills courses.