consequences DYNAMIC STYLES Style your components with a global theme or based on different states MAINTAINIBILITY Never go on a hunt for CSS affecting your components ever again
consequences DYNAMIC STYLES Style your components with a global theme or based on different states MAINTAINIBILITY Never go on a hunt for CSS affecting your components ever again PERFORMANCE Send only the critical CSS to the user for a rapid first paint
css({ ^ Argument of type 'boxSizing: 'bordre-box';' is not assignable [...] boxSizing: 'bordre-box', // Oops, there's a typo! width: 300, height: 200, });
don’t have to CLARITY There is far less ambiguity. e.g.: “1” == 1 && 1.0 == 1 LESS ERRORS Type problems are a whole class of errors you just don’t have to deal with
don’t have to CLARITY There is far less ambiguity. e.g.: “1” == 1 && 1.0 == 1 LESS ERRORS Type problems are a whole class of errors you just don’t have to deal with PERFORMANCE The more information the compiler has, the more it can optimise
Performance: improved by delivering only the critical path CSS ✓ Dynamic styles is a no brainer CSS-IN-JS STATIC TYPING ✓ Confidence: that our code is correct at compile-time 1 2 3 %
Performance: improved by delivering only the critical path CSS ✓ Dynamic styles is a no brainer CSS-IN-JS STATIC TYPING ✓ Confidence: that our code is correct at compile-time ✓ Performance: by giving the compiler type information 1 2 3 %
Performance: improved by delivering only the critical path CSS ✓ Dynamic styles is a no brainer CSS-IN-JS STATIC TYPING REASON ✓ Confidence: that our code is correct at compile-time ✓ Performance: by giving the compiler type information 1 2 3 %
Performance: improved by delivering only the critical path CSS ✓ Dynamic styles is a no brainer CSS-IN-JS STATIC TYPING REASON ✓ Confidence: that our code is correct at compile-time ✓ Performance: by giving the compiler type information ✓ Confidence: that our code is 100% type safe and sound 1 2 3 %
Performance: improved by delivering only the critical path CSS ✓ Dynamic styles is a no brainer CSS-IN-JS STATIC TYPING REASON ✓ Confidence: that our code is correct at compile-time ✓ Performance: by giving the compiler type information ✓ Confidence: that our code is 100% type safe and sound ✓ Familiar: Syntax & ecosystem used by JS developers 1 2 3 %