我正在为我的React应用程序使用样式化组件。当我们在客户端添加样式化组件时,它可以正常工作,但是在SSR期间,ServerStyleSheet.collectStyles无法从根应用程序组件中获取样式。当我将GlobalStyle与根应用程序组件一起使用时,collectStyles会获取全局样式的样式,而不是从根应用程序组件中获取样式。
使用以下代码,我无法获得任何样式。
html = renderToString(sheet.collectStyles(
<Loadable.Capture report={moduleName => modules.push(moduleName)}>
<Provider store={store}>
<StaticRouter location={req.url} context={context} history={history}>
<React.Fragment>
<App />
</React.Fragment>
</StaticRouter>
</Provider >
</Loadable.Capture>
));
使用此代码,我可以获取GlobalStyle的样式,但不能获取根应用程序组件的样式。
html = renderToString(sheet.collectStyles(
<Loadable.Capture report={moduleName => modules.push(moduleName)}>
<Provider store={store}>
<StaticRouter location={req.url} context={context} history={history}>
<React.Fragment>
<App />
<GlobalStyle/>
</React.Fragment>
</StaticRouter>
</Provider >
</Loadable.Capture>
));