npm 包 @bem-react/classnames 使用教程

阅读时长 3 分钟读完

简介

在前端开发中,BEM(块、元素、修饰符)命名法已经成为了一种很流行的命名方式。BEM 可以使 HTML 结构更易于阅读和维护,并且可以减少选择器的副作用。然而,在应用 BEM 命名规范时,我们必须编写大量的样式代码,来控制每个块、元素和修饰符的样式。这项工作通常非常繁琐,并且难以维护。为了解决这个问题,我们有一个 npm 包叫做 @bem-react/classnames。

@bem-react/classnames 是一个 JavaScript 库,它提供了一种方便的方式来使用 BEM 命名规范。使用此库,我们可以很容易地设置和管理元素和修饰符的类名。

安装

@bem-react/classnames 可以通过 npm 包管理器进行安装。要安装 @bem-react/classnames,请在终端中运行以下命令:

使用

假设我们有一个 BEM 块叫做 button,其中包含一个 BEM 元素 text 和两个 BEM 修饰符 primarydisabled。我们可以使用 @bem-react/classnames 设置和管理它们的类名。

首先,我们需要导入 @bem-react/classnames 包:

然后,我们可以使用这个库来生成类名,例如:

在上面的示例中,我们将 button 块的类名设置为 button_primary,因为 primary 修饰符被设置为 true。此外,我们还将 text 元素的类名设置为 button__text

现在,我们可以在 React 组件中使用这些类名,例如:

-- -------------------- ---- -------
------ ----- ---- --------

----- -------- - -- ---- -- -- -
  ----- ----------- - ------------ -
    -------- -----
    --------- -----
  ---
  ----- --------- - ------------ --------

  ------ -
    ------- ------------------------
      ----- ----------------------
        ------
      -------
    ---------
  --
--

在上面的示例中,我们使用 buttonClasstextClass 来设置按钮和文本的类名。

动态 BEM 类名

@bem-react/classnames 也可以用于设置动态 BEM 类名。例如,我们可能需要根据用户输入动态更改按钮颜色。在这种情况下,我们可以使用以下代码:

在上面的代码中,我们将 buttonColor 变量设置为 blue,并将其用作修饰符。此时,按钮的类名将是 button_blue

总结

@bem-react/classnames 是一个方便的 JavaScript 库,它可以为我们提供更简单的方法来实现 BEM 命名规范。使用此库,我们可以轻松地设置和管理元素和修饰符的类名,并减少我们的样式代码。此外,通过使用动态 BEM 类名,我们还可以轻松地实现动态样式。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb238b5cbfe1ea0611126

纠错
反馈