I need to be able to use CSS in different routes in React. I would much prefer to not use SASS, but if it is the only solution I will use it.
My Homepage (index.js) needs to use index.css and my Other Page (page2.js) needs to use page2.css (example names)
File Structure:
-src
-components
-pages
-css
-index.css
-page2.css
-index.js
-page2.js
Files:
// src/pages/index.js
import React from 'react'
import './css/index.css'
const Homepage = () => {
return (
<!-- unrelated HTML -->
)
}
export default Homepage
// src/pages/page2.js
import React from 'react'
import './css/page2.css'
const Page2 = () => {
return (
<!-- unrelated HTML -->
)
}
export default Page2
It really seems like this should work fine, but it loads both CSS files at once and they overlap and glitch out.
I would really like to avoid using things like SASS as stated above. Is there any way to do this with routes without doing something hacky like changing a link tag whenever the page changes?
I would strongly suggest you use css modules, css modules are just normal css files but applied to a css standarized structure to manage multiple css files among pages.
For this you should:
It would look like this
-src
-components
-pages
-page2.js
-page2.module.css
-index.js
-homePage.module.css
Finally import each css file in its corresponding page Let me know if it worked for you.
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