3

我是一个大反应粉丝。它是一个非常棒的 UI 构建工具,但是有一些问题很难解决。

其中之一是样式组件,最初的“反应方式”使用内联样式,但这种解决方案有一些负面品质,例如:

  • 从设计师的角度来看,这似乎不是一个好的解决方案
  • 是否足够可定制?
  • 我不能使用一些很棒的工具,比如 autoprefixer 或 sass/less,这让我的样式更易于维护

但也有一些积极的方面:

  • 组件变得非常有凝聚力和可重用性,样式与它一起交付。
  • 在某些库中使用内联样式时,我不需要任何样式表,样式都在我的代码中

其他“WriteYourStylesInJS”实践也有同样的弱点,最大的缺点是样式工具集的减少(是的,我懒得写前缀)。

至于我的实际问题,您如何使您的反应组件和 css(或 scss/sass 或更少或任何其他语言)样式具有凝聚力?

您如何使样式可定制和可维护?

我对内联样式的偏好合理吗?

4

2 回答 2

2

我正在使用内联样式,一开始我遇到了一些问题,但你知道吗?我爱它知道...

  • 我没有风格冲突。在我以前的所有非反应项目中,我都有它们......很容易修复,但我现在不需要担心
  • 如果我需要编辑组件的样式。我只是去组件并编辑它。之前......我必须检查元素的类,然后去css文件编辑它......也许我打破了具有相同类的另一个元素的样式!
  • 我喜欢 js 对象的风格。Js无处不在!多亏了这一点,我们不需要使用预处理器作为 SCSS 来拥有变量(只是一个例子)

但你是对的,你可能会对伪选择器(如 :hover... 或供应商前缀,甚至媒体查询)感到头疼。

所以..如果你需要所有这些,也许你应该检查

别傻了!

于 2015-12-02T09:25:53.217 回答
1

在我的项目中,我使用了单独的 css 文件进行样式设置,其名称与我的组件相同。在生产中,无论如何它都会被缩小并拆分到一个 js/css 文件中,但是您可以轻松地从一个项目复制/粘贴您的组件到另一个项目。

于 2015-08-05T09:05:49.713 回答