git.iko.soy/rowtype-yoga/psfp
on 4669fb5 help sign in
rowtype-yoga/psfp/blog/gatsby-ssr.js
37 lines 868 B history raw
1import React from 'react'
2import {JssProvider, SheetsRegistry} from 'react-jss'
4const globalLeak = new Map();
6export const wrapRootElement = ({ element, pathname }) => {
7 const sheets = new SheetsRegistry()
8 globalLeak.set(pathname, sheets);
10 return <JssProvider registry={sheets}>{element}</JssProvider>
13export const onRenderBody = (
14 { setHeadComponents, pathname },
15 ) => {
16 const sheets = globalLeak.get(pathname);
18 if (!sheets) {
19 return;
20 }
22 const css = sheets.toString();
24 // css = disableAutoprefixing ? css : autoprefixer(css, pathname);
25 // css = disableMinification ? css : cleanCSS.minify(css).styles;
27 setHeadComponents([
28 <style
29 id="jss-server-side"
30 key="jss-server-side"
31 dangerouslySetInnerHTML={{ __html: css }}
32 />,
33 ]);
35 globalLeak.delete(pathname);
36 };