首页 > 其他分享 > js:React中使用classnames实现按照条件将类名连接起来

js:React中使用classnames实现按照条件将类名连接起来

时间:2023-12-02 20:31:50浏览次数:33  
标签:bar App classNames js React classnames import foo

参考文档

  1. https://www.npmjs.com/package/classnames
  2. https://github.com/JedWatson/classnames

安装

npm install classnames

示例

import classNames from "classnames";

// 字符串合并
console.log(classNames("foo", "bar")); // foo bar

// 对象合并
console.log(classNames({ foo: true, bar: false })); // foo

// 动态名称
let buttonType = "primary";
console.log(classNames({ [`btn-${buttonType}`]: true })); // btn-primary

Vue中的类名可以这么写

<div :class="{
    'foo': true,
    'bar': false
}">

React中可以借助classnames实现

App.css

.foo {
  background-color: green;
}

.bar {
  color: red;
}

App.jsx

import React from "react";
import classNames from "classnames";
import "./App.css";

export default function App() {
  const boxClasses = classNames({
    bar: true,
    foo: true,
  });

  return <div className={boxClasses}>App</div>;
}

页面渲染的元素

<div class="bar foo">App</div>

在这里插入图片描述

标签:bar,App,classNames,js,React,classnames,import,foo
From: https://blog.51cto.com/mouday/8658714

相关文章

  • SAP UI5 开发项目 package.json 文件里的 @sap/ux-specification 依赖
    如下图所示:在SAPUI5中,@sap/ux-specification是一个由SAP提供的库,旨在帮助开发人员实现符合SAPFiori设计准则的用户界面(UI)。该库提供了一系列工具、资源和指南,以确保UI5应用程序的设计和实现符合SAPFiori标准,从而提供一致、易用且美观的用户体验。@sap/ux-specification主......
  • JS学习
    知识体系                             案例整理需求:包含日常任务处理、日志编写以及日期更新所用知识点:日期获取:      varnow=newDate();      varyear=now.getFullYear();......
  • 前端学习-JavaScript学习-js基础-API02-轮播图案例
    自己写的<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • java练习:json字符串转map、arrayList
    使用依赖包:<dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.0</version></dependency>获取数据:packagecom.example......
  • JS的DOM操作一:DOM操作简介
    DOM操作简介只编写HTML而产生的页面是静态的(静态页面),是没办法和它进行交互,例如点击按钮,提交表单等。JavaScript语言,就是专门为HTML页面添加交互。(使用JS编写相关代码,将页面由静转动,也就是动态页面)【PS:爬虫的时候最不喜欢的就是动态页面了(doge)要动脑】为了能在JavaScript直......
  • 【小沐学前端】Node.js实现UDP通信
    1、node简介Node.js是一个开源的、跨平台的JavaScript运行时环境。Node.js是一个开源和跨平台的JavaScript运行时环境。它是几乎任何类型项目的流行工具!Node.js在浏览器之外运行V8JavaScript引擎(GoogleChrome的内核)。这使得Node.js非常高效。Node.js应用在......
  • nodejs基础001
    常量//常量consta=1;console.log(a);变量//变量letb=2;console.log(b);letd="ffff";console.log(d)//全局变量,不建议使用c=3;console.log(c);//变量名:有些特定的是不允许作为变量名的,比如if,else等等函数//函数functionadd(x,y,z){let......
  • React项目报错:Element type is invalid: expected a string可能的原因
    React项目报错:Elementtypeisinvalid:expectedastring 起因:用了屎一样的ReactAntd组件库,坑太多实在用不下去了,代码不变直接改成Tdesign,于是就开始了解决无穷无尽的报错。。。Elementtypeisinvalid:expectedastring(forbuilt-incomponents)oraclass/function......
  • react中数组的操作
    添加元素:你可以使用push方法来在数组的末尾添加一个元素,或者使用unshift方法来在数组的开头添加一个元素。你也可以使用concat方法或者扩展运算符...来合并两个数组。letarr=[1,2,3];arr.push(4);//arrisnow[1,2,3,4]arr.unshift(0);//arrisnow[0,1,2,3,......
  • react项目vite报错:UnhandledPromiseRejectionWarning: SyntaxError: Unexpected toke
    问题:vite报错:UnhandledPromiseRejectionWarning:SyntaxError:Unexpectedtoken'??='今天clone一个vite的项目,安装依赖后运行npmrundev报错:UnhandledPromiseRejectionWarning:SyntaxError:Unexpectedtoken'??='atLoader.moduleStrategy(internal/modules......