是否有任何简单的方法可以将React修补为自动修复样式,以便呈现的HTML在客户端和服务器上不同?
例如,是否可以获得
<div style={{display: 'flex'}}/>
渲染(忽略data-reactid
):
<div style="display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;"/>
答案 0 :(得分:0)
在您发布的特定情况下,您可能必须创建一个传递样式的函数,并创建正确的样式。如果简单的前缀有效,您可以使用react-prefixr之类的内容,只需添加ms
,Webkit
等。到风格结构。如果react-prefixr未正确处理display:flex
,您可以将其作为PR提交。
答案 1 :(得分:0)
我有同样的问题,想要一种简单的方式来混合风格。所以我创建了一个库,让你可以使用less / sass style mixins https://seogrady.github.io/style-mixin。
答案 2 :(得分:0)
我今天刚刚创建了一个简单的前缀工具react-prefixer。这为相关浏览器处理前缀可能性。
我说相关是因为你调出了display:-webkit-box
语法,这基本上是Safari 5.1,现在它几乎不存在。此外,它只添加了所需的语法,这意味着您不会看到所显示的完整字符串样式...基于浏览器支持,它将提供前缀版本或规范版本,无需阻塞无用样式的标记。
它还很年轻(我今天早上编了代码),但也许它可以提供帮助。