First you need to setup webpack to load your css files using "css" loader and enable CSS modules. You will also need to use extract-text-webpack-plugin
to aggregate the CSS into a single file. Refer to webpack-demo.
Then you need use the higher order component declaration pattern to "decorate" your component, e.g.
import React from 'react';
import styles from './car.css';
import CSSModules from 'react-css-modules';
class Car extends React.Component {
render () {
return <div className='car'>
<div className='front-door'></div>
<div className='back-door'></div>
</div>;
}
}
export default CSSModules(Car, styles);
Thats it!
CSSModules extends Car
render
method. It will look for CSS classes in ./car.css
that match ReactElement
className
and will append the matching unique class names to className
declaration.