react module.scss 避免全局冲突类似vue中scoped

devtools/2025/2/27 0:52:00/

scss__0">创建 index.module.scss 文件

src/components/MyComponent/index.module.scssindex.tsx

scss__8">2. 编写 index.module.scss 内容

// src/components/MyComponent/index.module.scss.container {padding: 20px;background-color: #f0f0f0;.title {font-size: 24px;color: #333;}.button {background-color: #007bff;color: white;padding: 10px 20px;border: none;border-radius: 5px;&:hover {background-color: #0056b3;}}
}

scss_34">在 React 组件中使用 index.module.scss

import React from 'react';
import styles from './index.module.scss'; // 引入样式文件const MyComponent: React.FC = () => {return (<div className={styles.container}><h1 className={styles.title}>Hello, World!</h1><button className={styles.button}>Click Me</button></div>);
};export default MyComponent;

CSS 模块化的优势

  • 局部作用域:样式只作用于当前组件,不会影响其他组件。
  • 避免命名冲突:CSS 模块会自动生成唯一的类名,避免全局样式冲突。
  • 支持 SCSS 语法:可以使用嵌套、变量、混合等 SCSS 特性。

如果需要根据条件动态添加类名,可以使用模板字符串或 classnames 库

import React from 'react';
import styles from './index.module.scss';
import classNames from 'classnames'; // 引入 classnames 库const MyComponent: React.FC<{ isActive: boolean }> = ({ isActive }) => {return (<divclassName={classNames(styles.container, {[styles.active]: isActive, // 根据条件添加类名})}><h1 className={styles.title}>Hello, World!</h1><button className={styles.button}>Click Me</button></div>);
};export default MyComponent;

http://www.ppmy.cn/devtools/162920.html

相关文章

Pretraining Language Models with Text-Attributed Heterogeneous Graphs

Pretraining Language Models with Text-Attributed Heterogeneous Graphs EMNLP 推荐指数&#xff1a;#paper/⭐⭐#​ 贡献&#xff1a; 我们研究了在更复杂的数据结构上预训练LM的问题&#xff0c;即&#xff0c;TAHG。与大多数只能从每个节点的文本描述中学习的PLM不同&…

CSS编程基础学习

1. CSS 简介 1.1. CSS概念及作用 HTML即超文本标记语言&#xff08;HyperText Markup Language&#xff09;&#xff0c;是网页制作的基础&#xff0c;通过HTML&#xff0c;开发者可以定义网页的标题、段落、链接、图像、列表、表格、表单等元素。引入CSS 可以针对 HTML 里的…

Web自动化之Selenium 超详细教程(python)

Selenium是一个开源的基于WebDriver实现的自动化测试工具。WebDriver提供了一套完整的API来控制浏览器&#xff0c;模拟用户的各种操作&#xff0c;如点击、输入文本、获取页面元素等。通过Selenium&#xff0c;我们可以编写自动化脚本&#xff0c;实现网页的自动化测试、数据采…

Java集合应用案例面试题

Java集合应用案例面试题 缓存实现 Q1: 如何使用LinkedHashMap实现LRU缓存&#xff1f; public class LRUCacheExample {// 1. 基于LinkedHashMap实现的LRU缓存public class LRUCache<K, V> extends LinkedHashMap<K, V> {private final int capacity;public LRU…

MATLAB算法实战应用案例精讲-【数模应用】肤色模型与形态学图像处理方法(附MATLAB、python和C++代码实现)

目录 前言 算法原理 肤色检测 图像腐蚀 图像定位 RGB颜色空间中的统计肤色模型 1. 统计肤色模型简介 2. 统计肤色模型实现问题 颜色识别与形态学变换技术 图片颜色识别 ROI切割 人脸肤色检测模型 1、高斯肤色模型 2、椭圆模型 3、非参数估计法 基于数据挖掘的…

生态系统服务权衡与协同动态分析:利用InVEST模型估算产水、固碳、生境质量和土壤保持;时空异质性、双变量分析、多元回归分析等

生态系统服务分之间的权衡与协同关系是现有研究的重难点&#xff0c;即一种服务的增长削弱&#xff08;促进&#xff09;另一种服务的权衡&#xff08;协同&#xff09;。人口快速增长和社会经济发展影响生态系统的稳定性&#xff0c;限制了生态系统的服务功能&#xff0c;且某…

2025面试Go真题第一场

前几天参加了一场面试&#xff0c;GoLang 后端工程师&#xff0c;他们直接给了我 10 道题&#xff0c;我留了一个截图。 在看答案之前&#xff0c;你可以先简单做一下&#xff0c;下面我会对每个题目做一个说明。 文章目录 1、golang map 是否并发安全?2、协程泄漏的原因可能是…

比较RPC和RESTful API的优缺点

RPC和RESTful API是两种不同的远程调用方式&#xff0c;它们各自具有不同的优缺点。 RPC的优点包括&#xff1a; 高效&#xff1a;RPC使用自定义的通信协议&#xff0c;可以减少报文传输量&#xff0c;提高传输效率。灵活&#xff1a;RPC支持多种语言&#xff0c;不同的编程语…