From 44cc7ca2f5f6dbd8cbdfbcd35a2a22ad6e7c4554 Mon Sep 17 00:00:00 2001 From: myxvisual Date: Wed, 9 Aug 2017 18:14:53 +0800 Subject: [PATCH] fix: Fixed styleManager create element in ssr bug Close #16 --- src/styles/StyleManager.ts | 4 +++- src/styles/getTheme.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/styles/StyleManager.ts b/src/styles/StyleManager.ts index 5f46e629..628a8066 100644 --- a/src/styles/StyleManager.ts +++ b/src/styles/StyleManager.ts @@ -1,4 +1,5 @@ import * as createHash from "murmurhash-js/murmurhash3_gc"; +import IS_NODE_ENV from "../common/nodeJS/IS_NODE_ENV"; import isUnitlessNumber from "../common/react/isUnitlessNumber"; export const replace2Dashes = (key: string) => key.replace(/[A-Z]/g, $1 => `-${$1.toLowerCase()}`); @@ -62,8 +63,9 @@ export class StyleManager { } setupStyleElement = () => { - const name = `data-uwp-jss-${this.themeId}`; + if (IS_NODE_ENV) return; if (!this.styleElement) { + const name = `data-uwp-jss-${this.themeId}`; this.styleElement = document.createElement("style"); this.styleElement.setAttribute(name, ""); document.head.appendChild(this.styleElement); diff --git a/src/styles/getTheme.ts b/src/styles/getTheme.ts index 75ae1e77..cd2c3760 100644 --- a/src/styles/getTheme.ts +++ b/src/styles/getTheme.ts @@ -65,7 +65,7 @@ export default function getTheme(themeConfig?: ThemeConfig): ReactUWP.ThemeType }, useInlineStyle: Boolean(useInlineStyle), - styleManager: {}, + styleManager: void 0, useFluentDesign, desktopBackground: void 0, @@ -129,6 +129,7 @@ export default function getTheme(themeConfig?: ThemeConfig): ReactUWP.ThemeType isDarkTheme: isDark, prefixStyle: prefixAll(userAgent), prepareStyle(config, callback) { + if (!this.styleManager) return; const { extendsClassName, ...managerConfig } = config; if (this.useInlineStyle) { managerConfig.className += extendsClassName ? ` ${extendsClassName}` : ""; @@ -140,6 +141,7 @@ export default function getTheme(themeConfig?: ThemeConfig): ReactUWP.ThemeType } }, prepareStyles(config, callback) { + if (!this.styleManager) return; if (this.useInlineStyle) { const { styles } = config; const result: any = {};