【问题标题】:How to apply conditions for CSS Modules?如何申请 CSS Modules 的条件?
【发布时间】:2021-04-28 23:01:23
【问题描述】:

我在我的 react 项目中使用 CSS 模块。我只想为项目中的一个组件应用条件类名。我该怎么做?

import classes from "./Header.module.css"

我想在这里申请

<ul className={click ? "nav-menu active" : "nav-menu"}>

【问题讨论】:

  • 使用“类名”库。超级好用!

标签: css css-modules react-css-modules


【解决方案1】:

问题

您访问的 class 名称不正确。

解决方案

像对象一样使用它。

&lt;ul className={ classes.nav-menu + ' ' + ( click ? classes.active : '' ) }&gt;

【讨论】:

    【解决方案2】:

    你必须做什么:-

    &lt;ul className={click ? classes['nav-menu-active'] : classes['nav-menu']}&gt;

    为什么是上面的?

    因为classes 是一个对象。

    虽然对于干净的代码,请使用clsx 包并使用.active 而不是nav-menu-active,如下所示:-

    &lt;ul className={clsx(classes['nav-menu'],click &amp;&amp; classes.active)}&gt;

    clsx 允许轻松对类名进行分组并从 DOM 中删除虚假值,并且您不会在类名中看到悬空的 undefinednullfalse

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多