Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 样式化组件:担心FOUC_Reactjs_Webpack_Styled Components - Fatal编程技术网

Reactjs 样式化组件:担心FOUC

Reactjs 样式化组件:担心FOUC,reactjs,webpack,styled-components,Reactjs,Webpack,Styled Components,我已经进入了软件包,我认为开发人员的友好性非常棒 然而,我担心一件事:未格式化内容的闪现 因为在生产过程中,以及在开发过程中,样式都是用javascript块打包的;加载组件时,将生成样式并将其附加到 这与CSS模块的工作方式本质相同 在提到的一篇文章中,我学会了在产品构建步骤中使用ExtractTextPlugin创建单独的样式表(css文件) 然而,在样式化组件中CSS只是JS,所以我们不能使用这种技术(至少,我不能让它工作) 因此,在我开始用样式化组件构建下一个项目之前,有人能帮我消除顾虑

我已经进入了软件包,我认为开发人员的友好性非常棒

然而,我担心一件事:未格式化内容的闪现

因为在生产过程中,以及在开发过程中,样式都是用javascript块打包的;加载组件时,将生成样式并将其附加到

这与CSS模块的工作方式本质相同

在提到的一篇文章中,我学会了在产品构建步骤中使用ExtractTextPlugin创建单独的样式表(css文件)

然而,在
样式化组件中
CSS只是JS,所以我们不能使用这种技术(至少,我不能让它工作)


因此,在我开始用样式化组件构建下一个项目之前,有人能帮我消除顾虑吗?

如果你不想让你的UI闪存——你需要从服务器发送样式,而不是使用JS渲染。幸运的是,
styled components
library支持服务器呈现API,尽管它目前还不是公共的

您可以在服务器上预渲染样式,并将其插入从服务器发送的初始html中,这样它将包含CSS,并且UI不会闪烁

正如我提到的,API尚未公开,但您可以使用它。在Github上有多个关于此的讨论,请检查:,和。我想公共API应该在v2版本中准备好了


因此,使用
样式化组件来防止闪烁基本上没有问题。

SSR将出现在v2中,您可以从今天开始使用。下面是一个如何做到这一点的例子


很高兴知道。不幸的是,服务器端渲染不是此项目的选项