我已经从materialui(https://material-ui.com/guides/server-rendering/)的文档中找到了解决方案,但我仍然不知道原因。
1.为什么样式在第一次渲染时有效,但在第二次渲染时消失?我知道SSR会在每次请求中生成带有css的html模板到客户端,所以样式应该仍然有效,因为它是注入到html模板中的。
1.文档中提到“在客户端,在移除服务器端注入的CSS之前,会第二次注入CSS”,但我不知道为什么要移除,CSS是在每个请求的html模板中注入的,所以不会在我的思维中造成任何崩溃,也不知道为什么移除注入的css后样式不会消失。
3条答案
按热度按时间bxjv4tth1#
如果您使用的是样式化组件,那么请执行以下操作,然后就可以开始了!
步骤1:npm安装--保存开发babel插件样式的组件
第二步:在下一个项目的根目录下创建一个文件[.babelrc
步骤3:将以下代码粘贴到.babelrc文件:-
步骤4:重新启动下一台服务器
du7egjpx2#
在_应用程序. js中
然后打开pages文件夹中的_document. js:
webghufk3#
我把它添加到我的next.config.js中,突然它就工作了,但我不记得为什么它工作了。