Reactjs 样式化组件:担心FOUC
我已经进入了软件包,我认为开发人员的友好性非常棒 然而,我担心一件事:未格式化内容的闪现 因为在生产过程中,以及在开发过程中,样式都是用javascript块打包的;加载组件时,将生成样式并将其附加到Reactjs 样式化组件:担心FOUC,reactjs,webpack,styled-components,Reactjs,Webpack,Styled Components,我已经进入了软件包,我认为开发人员的友好性非常棒 然而,我担心一件事:未格式化内容的闪现 因为在生产过程中,以及在开发过程中,样式都是用javascript块打包的;加载组件时,将生成样式并将其附加到 这与CSS模块的工作方式本质相同 在提到的一篇文章中,我学会了在产品构建步骤中使用ExtractTextPlugin创建单独的样式表(css文件) 然而,在样式化组件中CSS只是JS,所以我们不能使用这种技术(至少,我不能让它工作) 因此,在我开始用样式化组件构建下一个项目之前,有人能帮我消除顾虑
这与CSS模块的工作方式本质相同 在提到的一篇文章中,我学会了在产品构建步骤中使用ExtractTextPlugin创建单独的样式表(css文件) 然而,在
样式化组件中
CSS只是JS,所以我们不能使用这种技术(至少,我不能让它工作)
因此,在我开始用样式化组件构建下一个项目之前,有人能帮我消除顾虑吗?如果你不想让你的UI闪存——你需要从服务器发送样式,而不是使用JS渲染。幸运的是,
styled components
library支持服务器呈现API,尽管它目前还不是公共的
您可以在服务器上预渲染样式,并将其插入从服务器发送的初始html中,这样它将包含CSS,并且UI不会闪烁
正如我提到的,API尚未公开,但您可以使用它。在Github上有多个关于此的讨论,请检查:,和。我想公共API应该在v2版本中准备好了
因此,使用
样式化组件来防止闪烁基本上没有问题。SSR将出现在v2中,您可以从今天开始使用。下面是一个如何做到这一点的例子
很高兴知道。不幸的是,服务器端渲染不是此项目的选项