Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use css/scss variable in React component as inline style

Is there a valid way to use SCSS or CSS variable in React component as inline style?

I would like to do something like this below

scss

$red: #F65959;


:root {
  --red: $red;    
}

js

const style = {
  color: '--red',
};

export default style;
like image 372
Stevan Tosic Avatar asked Mar 13 '19 13:03

Stevan Tosic


2 Answers

It should be like this if you want to use css custom properties

:root {
  --red: #{$red};
}
const style = {
  color: 'var(--red)',
};
like image 58
Joe Koker Avatar answered Nov 07 '22 13:11

Joe Koker


It is working, but you need to give the variable to var() if you want to use it in the inlined styles.

Example

function App() {
  const style = {
    color: "var(--red)"
  };
  return <div style={style}>Foo</div>;
}

ReactDOM.render(<App />, document.getElementById("root"));
:root {
  --red: #F65959;    
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

<div id="root"></div>
like image 44
Tholle Avatar answered Nov 07 '22 11:11

Tholle