Skip to content

Commit 748d6a6

Browse files
committed
Fix createUseStyle() sheets not rendered during SSR by calling manageSheet() during useReducer initialisation instead of in useEffect
1 parent 13572ec commit 748d6a6

File tree

2 files changed

+29
-37
lines changed

2 files changed

+29
-37
lines changed

packages/react-jss/.size-snapshot.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
{
22
"dist/react-jss.js": {
3-
"bundled": 167552,
4-
"minified": 58003,
5-
"gzipped": 18880
3+
"bundled": 142107,
4+
"minified": 51017,
5+
"gzipped": 16807
66
},
77
"dist/react-jss.min.js": {
8-
"bundled": 110827,
9-
"minified": 41357,
10-
"gzipped": 13942
8+
"bundled": 108586,
9+
"minified": 40704,
10+
"gzipped": 13875
1111
},
1212
"dist/react-jss.cjs.js": {
13-
"bundled": 26174,
14-
"minified": 11471,
15-
"gzipped": 3751
13+
"bundled": 26052,
14+
"minified": 11426,
15+
"gzipped": 3739
1616
},
1717
"dist/react-jss.esm.js": {
18-
"bundled": 25212,
19-
"minified": 10636,
20-
"gzipped": 3624,
18+
"bundled": 25090,
19+
"minified": 10591,
20+
"gzipped": 3612,
2121
"treeshaked": {
2222
"rollup": {
2323
"code": 1946,

packages/react-jss/src/createUseStyles.js

+17-25
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,14 @@ const createUseStyles = <Theme: {}>(styles: Styles<Theme>, options?: HookOptions
5555
let dynamicRules
5656
let classes
5757
if (sheet) {
58-
if (context.registry) {
59-
context.registry.add(sheet)
60-
}
6158
dynamicRules = addDynamicRules(sheet, data)
6259
classes = getSheetClasses(sheet, dynamicRules)
60+
manageSheet({
61+
index,
62+
context,
63+
sheet,
64+
theme
65+
})
6366
}
6467

6568
return {
@@ -70,31 +73,20 @@ const createUseStyles = <Theme: {}>(styles: Styles<Theme>, options?: HookOptions
7073
})
7174

7275
useEffectOrLayoutEffect(
73-
() => {
74-
if (state.sheet) {
75-
manageSheet({
76-
index,
77-
context,
78-
sheet: state.sheet,
79-
theme
80-
})
81-
}
82-
83-
return () => {
84-
const {sheet, dynamicRules} = state
76+
() => () => {
77+
const {sheet, dynamicRules} = state
8578

86-
if (!sheet) return
79+
if (!sheet) return
8780

88-
unmanageSheet({
89-
index,
90-
context,
91-
sheet,
92-
theme
93-
})
81+
unmanageSheet({
82+
index,
83+
context,
84+
sheet,
85+
theme
86+
})
9487

95-
if (dynamicRules) {
96-
removeDynamicRules(sheet, dynamicRules)
97-
}
88+
if (dynamicRules) {
89+
removeDynamicRules(sheet, dynamicRules)
9890
}
9991
},
10092
[state.sheet]

0 commit comments

Comments
 (0)