小编Dav*_*lva的帖子

React.js 组件在刷新时缺少样式

我正在将 React 与 react-router 和 material ui 一起使用。第一次加载时,一切看起来都正确,但是当我刷新页面时,所有样式都丢失了。

如果我更改代码中的某些内容并重新编译,则会正确重新加载样式

刷新时:1 初始加载时:2

这是服务器端渲染

const generateClassName = createGenerateClassName()
   const context = {}
   const markup = ReactDOMServer.renderToString(
      <StaticRouter location={req.url} context={context}>
         <JssProvider registry={sheetsRegistry} generateClassName={generateClassName}>
            <MuiThemeProvider theme={theme} sheetsManager={new Map()}>
              <MainRouter/>
            </MuiThemeProvider>
         </JssProvider>
      </StaticRouter>
     )
    if (context.url) {
      return res.redirect(303, context.url)
    }
    const css = sheetsRegistry.toString()
    res.status(200).send(Template({
      markup: markup,
      css: css
    }))
})
Run Code Online (Sandbox Code Playgroud)

模板:

export default ({markup, css}) => {
    return `<!doctype html>
      <html lang="en">
        <head>
          <meta charset="utf-8">
          <title>Budget App</title>
          <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400">
          <link …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs material-ui

5
推荐指数
1
解决办法
1995
查看次数

标签 统计

javascript ×1

material-ui ×1

reactjs ×1