爱炫耀,这样一个伟大的工具。
我在设置 Material UI 时遇到了一个问题,除了一件事之外,一切都运行得非常好:当访问子页面并刷新页面时,我会看到一个只有最少样式的页面。 这实际上是一个令人着迷的错误,因为根据从最后一个yarn start
打开的页面,它只会在刷新时正确呈现该页面,但如果我导航和刷新它将不起作用(即使在根路径上)。
yarn start
启动服务器http://localhost:3000/blog-posts
yarn start
启动服务器我尝试了yarn build && yarn start:prod
并且系统运行,但只有最少的样式。 但是,如果我找到一个链接并单击它,那么整个应用程序就会再次看起来很漂亮。
我假设这是水合物的问题,或者可能是它和@material-ui/core/styles/withStyles
某种组合。 你们中有人遇到这个问题吗?
这些类在后续页面加载时是不同的(呈现 html ),这意味着它可能与同构样式/类的初始加载有关,我知道这与以下讨论有关:
但是,正如我上面的情况所示,它似乎在某些时候起作用,这让我认为它比那些讨论看起来更接近。 想法?
哈哈哈哈我在 Razzle 的 Material UI 上遇到了同样的问题😢
@CharlyJazz这非常(en|dis)令人鼓舞。 哈哈,你有没有尝试从他们的withStyles
实现转移到同构类?
你会认为经过漫长乏味的研究和调试后会更令人满意,但修复基本上是使用 after.js,react-jss,生成你自己的Document
,然后在底部的行该线程的(关于仅与 MUI 相关的 MuiThemeProvider):
static async getInitialProps({ assets, data, renderPage }) {
const generateClassName = createGenerateClassName()
const jss = create(jssPreset())
const page = await renderPage(App => props => (
<JssProvider jss={jss} generateClassName={generateClassName}>
<MuiThemeProvider sheetsManager={new Map()}>
<App {...props} />
</MuiThemeProvider>
</JssProvider>
))
return { assets, data, ...page }
}
愿大家远离痛苦。 :P
@jaredpalmer @jylinman不能为razzle文档创建一个这样的例子吗?
对于遇到此问题的其他人,我强烈建议您遵循官方 Material-UI SSR 文档: https :
最有用的评论
你会认为经过漫长乏味的研究和调试后会更令人满意,但修复基本上是使用 after.js,react-jss,生成你自己的
Document
,然后在底部的行该线程的(关于仅与 MUI 相关的 MuiThemeProvider):愿大家远离痛苦。 :P