【发布时间】:2017-07-14 15:12:02
【问题描述】:
我猜并不是所有的 UI 框架都可以轻松地与样式化组件一起使用;因为它们的特异性可能太高等等。
我在这方面是正确的吗?
是否有任何样式化组件模式允许它们与任何 UI 框架一起使用?
框架是否有一种模式,可以让它们与样式化的组件一起很好地工作,而不是在其中编写?
我知道这可能是主观的,但我试图询问互操作性的客观模式。
【问题讨论】:
我猜并不是所有的 UI 框架都可以轻松地与样式化组件一起使用;因为它们的特异性可能太高等等。
我在这方面是正确的吗?
是否有任何样式化组件模式允许它们与任何 UI 框架一起使用?
框架是否有一种模式,可以让它们与样式化的组件一起很好地工作,而不是在其中编写?
我知道这可能是主观的,但我试图询问互操作性的客观模式。
【问题讨论】:
我猜并不是所有的 ui 框架都可以轻松地与 样式化的组件;因为它们的特异性可能太高等等。我是 在这方面正确吗?
不,styled-components 可以与任何第三方组件库一起使用,只要组件在内部将 className 附加到 DOM 节点。在 GitHub 的讨论中查看 here Max Stoiber(styled-components 的共同创建者)的答案。
有一个binary-ui 库,它使用styled-components 它也适用于react 和react-native。
您绝对可以将styled-components 与material-ui 库一起使用,我猜想与许多其他库一起使用,我相信大多数UI 库都允许使用className 属性。
【讨论】:
material-ui (目前) 使用内联样式,所以你必须在代码中使用 !important 来覆盖它们的样式。他们正在努力在下一个版本中进行更改,但还没有完成。 (如果您不确定内联样式和样式化组件之间的区别,请参阅这篇博文:mxstbr.blog/2016/11/inline-styles-vs-css-in-js)