Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于类名风格技巧的最佳实践_Javascript_Html_Css_Reactjs - Fatal编程技术网

Javascript 关于类名风格技巧的最佳实践

Javascript 关于类名风格技巧的最佳实践,javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,我是react.Js的新手,通常在vue.Js或vanilla(纯HTML、CSS、Js)中进行样式设计。我对React中的ClassName最佳实践有一些疑问。我想问一下在ReactJs中给出类名时的最佳实践(如果您给出使用其中一种样式的优点和缺点等原因,这将非常有用) 我们说我在React.Js中有一个页面,在中有一些css文件,作用域是和全局是。在React.Js中进行样式设置或在其中说明我的类时,我使用了一些技巧: className={styles.scopedCSS}-->在本例中,

我是
react.Js的新手,通常在
vue.Js
vanilla(纯HTML、CSS、Js)
中进行样式设计。我对
React
中的ClassName最佳实践有一些疑问。我想问一下在ReactJs中给出类名时的最佳实践(如果您给出使用其中一种样式的优点和缺点等原因,这将非常有用)

我们说我在
React.Js
中有一个页面,在
中有一些css文件,作用域是
全局是
。在
React.Js
中进行样式设置或在其中说明我的类时,我使用了一些技巧:

  • className={styles.scopedCSS}
    -->在本例中,我使用了作用域样式
    从“/mycode.css”导入样式

  • className=“Global CSS”
    -->我正在使用全局CSS文件,比如说
    app.CSS

  • 一般来说,有两种技术,但是当您在项目中使用更复杂和自定义的CSS样式时,我的好奇心就来了,比如组合
    global
    scoped
    CSS。这是我发现的当前技术:

  • className={`Global CSS Global CSS${styles.ScopedCSS}${styles.ScopedCSS}}}

  • className={`Global CSS Global CSS${style.['scoped-CSS','scoped CSS']}}

  • className={Style.constStyleingName}
    -->为此,我使用了
    constStyleingName=`Global CSS Global CSS${Style['scoped-CSS','scoped CSS']}
    要编写完整的CSS行,所以我在这里只使用一行来定义我的
    类名
    ,如果您想在这里添加一些逻辑,您也可以使用
    三元操作

  • style={marginLeft:0,display:'flex'等}
    -->在我的代码中直接使用
    full-style-inline

  • 关于这方面的信息,我真的很好奇,因为我发现这是一个非常有趣的话题,我发现解释这些差异对我来说没有太多的文章,而且我进行了相当多的讨论,因为当项目规模越来越大时,上述技术之一只会使您的代码看起来像意大利面代码


    我希望有人能帮我解释这个问题,因为我真的很想在react中了解这个样式化技术问题。

    要动态实现className,我建议使用npm包
    classnames

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


    如果您使用的是限定范围的css,最好检查css模块,而不是普通的css。如果您对js中的css感兴趣,那么情感和样式化组件是一些替代品,这在React样式设计中非常流行。

    要动态实现类名,我建议使用npm包
    类名

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


    如果您使用的是限定范围的css,最好检查css模块,而不是普通的css。如果您对js中的css感兴趣,情感和样式化组件是一些替代品,这在React样式设计中非常流行。

    您可以查看
    BEM
    方法。此方法不仅适用于
    react
    ,还适用于您有一个大项目并且希望不重复类名的情况@Hovakimyan感谢您的评论和BEM参考
    文章。对我来说,学习概念本身的名称是一件新鲜事,通常我在将我的类划分为一个非常特定的类时使用这个概念。但它似乎与一般章节第2点中的普通类相匹配。但是感谢您提供的新信息,因为我正在使用这种方法,但自己不知道概念的名称。您可以查看
    BEM
    方法。此方法不仅适用于
    react
    ,还适用于您有一个大项目并且希望不重复类名的情况@Hovakimyan感谢您的评论和BEM参考
    文章。对我来说,学习概念本身的名称是一件新鲜事,通常我在将我的类划分为一个非常特定的类时使用这个概念。但它似乎与一般章节第2点中的普通类相匹配。但是谢谢你提供的新信息,因为我正在使用这个方法,但不知道这个概念本身的名称
    import cn from classnames;
    
    className={cn('text-bold', 'font-xl')}
    className={cn('text-bold', {'font-xl': userInput === 'xl'})}