collectStyles无法从样式化组件SSR中的Root App Component获取样式

时间:2019-12-05 13:57:53

标签: reactjs styled-components

我正在为我的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>
      ));

0 个答案:

没有答案