gpt4 book ai didi

reactjs - MUI React SSR 问题

转载 作者:行者123 更新时间:2023-12-04 17:21:22 25 4
gpt4 key购买 nike

我们正在使用 React-MUI 为现有项目设置服务器端渲染。除了样式之外,我们已经完成了所有工作。我们的 CSS 不会为服务器端渲染加载。任何内联 CSS 都可以正常工作,但任何在文件开头定义并与 export default withStyles(styles)(Page) 绑定(bind)的工作表不工作。
我们的样式定义如下:

const styles = (theme) => ({ 
root{
//some CSS Here ...
}...
});
然后必然会倾倒 Prop
export default typeof window !== 'undefined'
? withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Home)))
: withStyles(styles)(Home);
并访问
const {classes} = this.props;
//then in render
<div className={classes.root}>...</div>
classes.someClassName 都没有CSS 在服务器端渲染中工作,但我们在浏览器中渲染它的第二个功能正常。当前的想法是尝试使用 <ThemeProvider/>来自 MUI 的包装器,但任何建议都值得赞赏。
谢谢!

最佳答案

感谢@ReedDunkle 提供这方面的指导。最终使用他的 linked guide 让它工作起来作为引用。我最终只需要添加 sheets.collect(...)以及 css = sheets.toString()然后在 HTML 文档的标题中包含 CSS。不需要 ThemeProvider ,使用 WithStyles 连接起来都很好现在。
所以基本上它看起来像:

const html = renderToString(sheets.collect(<App/>));

const css = sheets.toString();

//...
//In your SSR HTML

<head>
<style id="jss-server-side">${css}</style>
...
</head>
...
<div id=react-root>{html}</div>

关于reactjs - MUI React SSR 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65999490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com