styled-jsx v5.0.0 Release Notes
-
🔋 Features
- 💅 Introduce contextual styles (#744)
- Opt-in react 18 insertion effect hook when available (#753)
- 💻 Fallback to module level registry in browser (#768)
👌 Improvements
- 💅 Make JSXStyle return a noop if the registry context is not provided (#749)
- 🛠 Fix typings of
nonce
property - Pre-compile dependencies to reduce install size/time (#770)
💥 BREAKING CHANGES
APIs
- 💅
styled-jsx/server
import path is deprecated - 💅
flush
andflushToHTML
fromstyled-jsx/server
APIs are deprecated - 🆕 New component
<StyledRegistry>
is introduced - 🆕 New APIs
useStyleRegistry
andcreateStyleRegistry
are introduced
Usage
💅 If you're only using styled-jsx purely client side, nothing will effect you. 💅 If you're using styled-jsx inside Next.js without customization, Next.js will automatically handle the changes for you.
💅 If you have your own customization with styled-jsx in Next.js, for example you have a custom
_document
: 💅 By default, doing this will let Next.js collect styles and pass them down.class Document extends React.Component { static async getInitialProps(ctx) { return await ctx.defaultGetInitialProps(ctx) } }
🔧 Or for instance you're passing
nonce
property ingetInitialProps
of_document
, this will let you configure it:class Document extends React.Component { static async getInitialProps(ctx) { - return await ctx.defaultGetInitialProps(ctx) + return await ctx.defaultGetInitialProps(ctx, { nonce }) } }
If you're building the SSR solution yourself with other frameworks, please checkout the Server-Side Rendering section in readme.