当前位置: 首页 > article >正文

React05 样式控制 classnames工具优化类名控制

样式控制 & classnames工具优化类名控制

    • 样式控制
      • 1. 行内样式控制
      • 2. 外部样式控制
    • classnames工具优化类名控制


样式控制

1. 行内样式控制

//定义样式
const style = {
  color: 'red',
  fontSize: '30px'
}

function App() {
  return (
    <div className="App">
      {/* 行内样式控制 */}
      <p style={style}>Hello BLU!</p>
    </div>
  );
}
export default App;

2. 外部样式控制

  • App.js
//导入外部样式
import './index.css';

function App() {
  const clickHandler = (name) => {
    alert("Hello " + name);
  }
  return (
    <div className="App">
      {/* class类名样式控制 */}
      <button className='bluBtn' onClick={() => clickHandler('BLU')}>Click Me</button>
    </div>
  );
}
export default App;
  • index.css
.bluBtn {
    color: red;
    font-size: 20px;
    font-weight: 600;
}

classnames工具优化类名控制

  • npm 安装依赖
npm install classnames
  • Tab 组件
//导入外部样式
import './index.css';
//引入依赖
import classNames from 'classnames';
//引入useState
import { useState } from 'react';

function Tab() {
    const [type, setType] = useState('');
    const handleTabClick = (name) => {
      setType(name);
    }
    return (
      <div>
        <button className={classNames('bluBtn', {active: type === 'A'})} onClick={() => handleTabClick('A')}>Tab A</button>
        <button className={classNames('bluBtn', {active: type === 'B'})} onClick={() => handleTabClick('B')}>Tab B</button>
      </div>
    );
  }
export default Tab;
  • index.css
.bluBtn {
    color: red;
    font-size: 20px;
    font-weight: 600;
}
.bluBtn.active {
    background-color: bisque;
}
  • App.js
import Tab from "./Tab";

function App() {
  return (
    <div className="App">
      <Tab></Tab>      
    </div>
  );
}
export default App;

http://www.kler.cn/a/380309.html

相关文章:

  • MySQL utf8mb3 和 utf8mb4引发的问题
  • Spring Boot 内置工具类
  • 【react使用AES对称加密的实现】
  • 基于 Canal + Elasticsearch 的业务操作日志解决方案
  • 算法学习027 c++蛇形三角形填充 二维数组常规应用 中小学算法思维学习 比赛算法题解 信奥算法解析
  • PyQt5的安装与简介
  • 【算法】Prim最小生成树算法
  • 【k8s】-运维技巧-1
  • Spring Boot实战:构建校园社团信息管理系统
  • Linux基础(七):Linux文件与目录管理
  • 软件加密与授权管理:构建安全高效的软件使用体系
  • docker镜像获取不到的问题处理
  • TIDB的结构
  • 【SpringCloud详细教程】-01-一文了解微服务
  • Python和MATLAB都可以用于绘制折线图,下面是分别用Python和MATLAB绘制简单折线图的示例。
  • 蓝桥双周赛 第21场 小白入门赛
  • 【每日 C/C++ 问题】
  • mac 打开访达快捷键
  • 一二三应用开发平台自定义查询设计与实现系列3——通用化重构
  • linux mysql8大小写敏感问题
  • Spring Boot框架在信息学科平台开发中的高级应用
  • SpringBoot在线教育系统:集成第三方服务
  • AWTK文件系统适配器更新-支持RT-Thread DFS POSIX接口
  • Java中的线程安全问题(如果想知道Java中有关线程安全问题的基本知识,那么只看这一篇就足够了!)
  • Java项目实战II基于Java+Spring Boot+MySQL的体育馆使用预约平台的设计与实现(源码+数据库+文档)
  • flask websocket服务搭建,flask-sock 和 flask-socketio