problem in accessing the scss variables in react components

5.2k Views Asked by At

Followed the link https://mattferderer.com/use-sass-variables-in-typescript-and-javascript

Looking to access the scss varaibles in react component . Not sure with what import name i need to call in react component since if i give as below import statement it is showing an error as cannot find the module '../scss/_variables.scss';

import _variables from '../scss/_variables.scss';

here _variables.scss is the file name which contains

 // variables.scss
$white-color: #fcf5ed; 

:export {
  whitecolor: $white-color; }

I am scratching my head to get the "whitecolor" variable available in react component .

Also, I am using webpack as below

{
 test: '/.scss$/',
 use: [{
  loader: 'style-loader' // creates style nodes from JS strings
 }, {
  loader: 'css-loader' // translates CSS into CommonJS
 }, {
  loader: 'sass-loader' // compiles Sass to CSS
 }]
}

enter image description here

Any help would be highly appreciated!!

3

There are 3 best solutions below

0
On

On the react app, you can import the variable.scss in App.scss file. If there is no file just create it.

make sure that you have installed node-sass.

@import "../scss/_variables.scss";

Now the variables are accessible, I am using React Webpack. Also, we have other options please check here

Thanks, Prem

1
On

Importing specific property in React does not work unless it is a module.

I was facing the same problem and here is what I did:

Renamed _variables.scss to _variables.module.scss and then the import is import _variables from '../scss/_variables.module.scss';

now you can access the scss variables just like _variables.whitecolor

1
On

One way would be to npm install node-sass

Then change your app.css to app.scss and in there you import your stylesheet:

@import '../scss/_variables.scss';

Then you can use it like

.App-link {
  color: $secondary-color;
}