Performance: When to use SASS vs CSS-in-JS
MEDIUM IMPACT
This affects page load speed and runtime rendering performance by influencing CSS bundle size and style recalculations.
$primary-color: blue; .button { background-color: $primary-color; padding: 1rem; }
@jsx import React from 'react'; const Button = () => { return <button style={{ backgroundColor: 'blue', padding: '10px' }}>Click</button>; };
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| SASS static CSS | Minimal - styles precompiled | 0 on load | Low - browser optimized | [OK] Good |
| CSS-in-JS for static styles | Extra JS nodes for styles | Multiple on load | Medium - runtime style injection | [X] Bad |
| CSS-in-JS for dynamic styles | Scoped style nodes | Few on interaction | Low to medium - conditional styles | [!] OK |