我们正在使用 React-MUI 为现有项目设置服务器端渲染。除了造型之外,我们已经把一切都准备好了。我们的 CSS 都不会加载到服务器端渲染。任何内联 CSS 都可以正常工作,但在文件开头定义并绑定的任何工作表都export default withStyles(styles)(Page)不起作用。
我们的样式定义如下:
const styles = (theme) => ({
root{
//some CSS Here ...
}...
});
Run Code Online (Sandbox Code Playgroud)
然后必然会倒出道具
export default typeof window !== 'undefined'
? withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Home)))
: withStyles(styles)(Home);
Run Code Online (Sandbox Code Playgroud)
并通过以下方式访问
const {classes} = this.props;
//then in render
<div className={classes.root}>...</div>
Run Code Online (Sandbox Code Playgroud)
所有classes.someClassNameCSS 在服务器端渲染中都不起作用,但当我们在浏览器中渲染时,它会正常工作。当前的想法是尝试使用<ThemeProvider/>MUI 的包装器,但任何建议都会受到赞赏。
谢谢!