【问题标题】:Styling ReactJs Component Options [closed]样式化 ReactJs 组件选项
【发布时间】:2017-07-04 05:44:38
【问题描述】:

我正在为一个大型项目做一些研究,该项目将使用 reactJs,所有 html 元素都将转换为 React 组件。

众所周知,css 在全局变量方面存在很大问题,因此存在很多 css 冲突的可能性。

对此有很多不同的选择,包括:

  • 原子设计

  • SMACSS

  • OOCSS

或使用以下库:

  • 反应风格

  • 内联反应

  • jsxstyle

  • 反应 JSS

  • 反应内联 CSS

  • React Look

  • React 静态样式

所有这些都有一些好处,但同时都在试验中并且缺少一些东西。

换句话说,它们都没有解决 react 组件样式中的所有 css 问题,或者有些只是尝试解决不存在的问题。

在尝试了所有这些之后,我有一半的想法是我应该只链接到常见样式的 css 文件,并有一个特定于每个组件的 css 文件,并从组件内定位该 css 文件。

这里有没有人有过在大型项目中设计 React 组件的经验,并且有任何反馈或建议?

我根本无法决定只使用直接的 css 或 javascript。

我有什么遗漏的研究吗?

【问题讨论】:

  • 我喜欢将镭与普通的旧引导程序一起使用。让 css 框架为您处理布局,但是能够真正使用 OOP 编写样式,而无需单独的 css 构建。与PropTypes 配合使用效果很好,即按钮组件应该有一些与之关联的错误颜色。

标签: javascript reactjs react-css-modules


【解决方案1】:

在您的解决方案中包含 CSS 并没有错,SASS 和 LESS 很棒。

但是,我个人喜欢将内联样式 a 作为一个普通的 JS 对象,因为它为您提供了 JS 的全部功能,因此您可以随心所欲地进行动态计算,无需预处理 css 即可进行所有需要的计算,等等……

React 团队已经在这方面投入了一段时间(React Native 已经默认使用它)这里是 React Native StylesPresentation from a Facebook engineerProposal from the reactjs/react-future repo,还有像 Radium 这样的不错的库对你有很大帮助。

JS 中的 CSS 肯定每天都在变得更好,所以是的,我建议你做出这样的跳跃。 :)

【讨论】:

  • 是的,我已经看过这些演示文稿,当然您需要添加另一个库(Radium)才能执行 :hover 等... Radium 只能解决部分问题...不是对此深信不疑
  • 是的,现在是一个偏好问题(除非你使用 React Native)。我建议您更深入地尝试一下,如果您仍然不相信,那么继续使用 CSS 并没有错。 :)
猜你喜欢
  • 2018-11-20
  • 2019-01-07
  • 2019-09-26
  • 2019-07-08
  • 2021-04-03
  • 2020-07-19
  • 2021-07-04
  • 2021-07-05
  • 2017-08-25
相关资源
最近更新 更多