首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用className风格技术时的最佳反应实践

使用className风格技术时的最佳反应实践
EN

Stack Overflow用户
提问于 2020-09-03 15:35:04
回答 1查看 385关注 0票数 1

我是react.Js的新手,通常是用vue.jsvanilla (pure HTML, CSS, JS)做造型。关于ClassName在React中的最佳实践,我有一些疑问。当在ReactJs中提供className时,我想问一下最佳实践(如果您给出使用其中一种样式时的优势和劣势等原因,将会很有帮助)。

让我们说一下,我在React.Js中有一个页面,scopedglobal中有一些css文件。下面是我在React.Js中进行样式化或在那里声明类时使用的一些技巧:

  1. className={styles.scopedCSS} -->我在这个示例import styles from './mycode.css'

中使用了限定范围的样式

  1. className="Global-CSS" ->我使用的是全局css文件,比如说app.css

通常有这两种技术,但是当您在您的项目中使用更复杂和自定义的CSS样式时,比如结合globalscoped CSS时,我的好奇之处在于。这是我目前发现的技术:

  1. className={`Global-CSS Global-CSS ${styles.ScopedCSS} ${styles.ScopedCSS}`}

  1. className={`Global-CSS Global-CSS ${styles.['scoped-css', 'scoped-css']}`}

  1. className={Style.constStylingName} ->为此,我使用Const constStylingName = `Global-CSS Global-CSS ${styles['scoped-css', 'scoped-css']}来编写完整的CSS行,所以我只使用一行来定义这里的ClassName,如果您想在这里添加一些逻辑,也可以使用terniary operation

  1. style={marginLeft: 0, display: 'flex', etc.} ->在我的代码

中直接使用full Styles inline

关于这方面的信息,我真的很好奇,因为我发现这是一个非常有趣的话题,对于我来说,这篇文章并不多,我认为解释这些差异是有用的,而且我进行了相当深入的讨论,因为上面的技术之一只会使您的代码看起来像意大利面条代码,当您的项目变得越来越大时。

我希望有人能帮助我解释这个问题,因为我真的很想了解这个造型技术问题的反应。

EN

回答 1

Stack Overflow用户

发布于 2020-09-04 13:10:10

为了动态地实现className,我建议使用npm包classnames https://www.npmjs.com/package/classnames

例如,您可以这样使用它(条件类非常方便):

代码语言:javascript
复制
import cn from classnames;

className={cn('text-bold', 'font-xl')}
className={cn('text-bold', {'font-xl': userInput === 'xl'})}

如果您使用的是作用域css,最好检查css模块,而不是普通css。情绪和样式-组件是一些替代,如果您感兴趣的css- in -js,这是相当流行的反应样式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63727022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档