This content originally appeared on DEV Community and was authored by fawazsullia
A fundamental problem with CSS is that it's globally scoped.
So, if you have a number of components in your React app, you would have to think of unique classes to name your components.
And the bigger your app gets, the harder.
This is where CSS modules come in.
CSS modules let you create CSS files that are locally scoped.
Here's how you do it;
- Create a CSS file with
.module.css
extension - In your component, use
import * as anyName from 'relative path'
- And in yout jsx elements, use
className={anyName.nameofclass}
- In your module.css file, use
.nameofclass
to select the elements
Note that, you can select child elements with .nameofclass element name as well (.container button)
This way, you don't have to worry about thinking of unique names to name your class.
If you found this useful, let me know in the comments. if there's a better way to CSS in react, drop a comment
This content originally appeared on DEV Community and was authored by fawazsullia

fawazsullia | Sciencx (2021-05-18T18:15:10+00:00) Less annoying CSS in React with CSS modules. Retrieved from https://www.scien.cx/2021/05/18/less-annoying-css-in-react-with-css-modules/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.