react 中引入css的方式

简介: react 中引入css的方式

1. 前言

  1. react 中 写css 比较麻烦,总结下有哪些

2. 普通的 CSS 文件引入:

  1. 在 React 组件中使用import语句引入外部的 CSS 文件,然后直接在 JSX 中应用类名或样式。
  2. 这种方式可以使用任何 CSS 预处理器(如 Sass、Less)。
  3. 样式在全局范围内生效,需要注意样式的命名冲突问题。

上 demo

// styles.css
.container {
  background-color: #f0f0f0;
  padding: 20px;
}
// Component.jsx
import React from 'react';
import './styles.css';
const Component = () => {
  return (
    <div className="container">
      <h1>Hello, World!</h1>
    </div>
  );
};
export default Component;

3. CSS 模块化:

  1. 使用 CSS 模块化可以将 CSS 文件与组件进行关联,使得每个组件的样式只在当前组件生效
  2. 使用 import 语句引入 CSS 模块文件,并通过对象的方式获取对应的类名或样式。
  3. 类名在编译时进行哈希处理,避免了全局命名冲突问题

上demo

// Component.module.css
.container {
  background-color: #f0f0f0;
  padding: 20px;
}
// Component.jsx
import React from 'react';
import styles from './Component.module.css';
const Component = () => {
  return (
    <div className={styles.container}>
      <h1>Hello, World!</h1>
    </div>
  );
};
export default Component;

4. CSS-in-JS:

  1. 使用 CSS-in-JS库(如 styled-components、Emotion)可以直接在组件中定义和应用样式。
  2. 样式以 JavaScript对象模板字符串的形式嵌入到组件中,可以使用 JavaScript 语法进行动态样式处理。
  3. 样式作用于具体的组件实例,避免了全局样式冲突的问题。

上 demo

import React from 'react';
import styled from 'styled-components';
const Container = styled.div`
  background-color: #f0f0f0;
  padding: 20px;
`;
const Component = () => {
  return (
    <Container>
      <h1>Hello, World!</h1>
    </Container>
  );
};
export default Component;

5. 区别 咱还是用 表格对比吧

普通 CSS 文件引入 CSS 模块化 CSS-in-JS
引入方式 使用 import 引入外部 CSS 文件 使用 import 引入 CSS 模块文件 使用相应的 CSS-in-JS 库
类名命名冲突问题 可能会发生全局命名冲突 通过哈希处理类名,避免全局命名冲突 不会发生命名冲突
样式作用范围 全局范围内生效 组件内部作用,避免全局影响 组件内部作用,避免全局影响
动态样式处理 需要在样式文件中使用预处理器或动态类名的技巧 无需特殊处理,直接在组件中应用动态样式 直接在组件中使用 JavaScript 语法进行动态样式处理
代码复用性 可以在多个组件中共用相同的 CSS 文件 样式与组件关联,可复用,但需要通过对象的方式获取样式类名 样式与组件关联,可复用,直接在组件中定义和应用样式
工具生态支持 支持各种 CSS 预处理器和构建工具 部分构建工具和框架对 CSS 模块化有内置支持 CSS-in-JS 库提供丰富的工具和特性支持
学习曲线 相对较低,使用常见的 CSS 语法 需要了解 CSS 模块化的基本概念和使用方式 需要学习相应的 CSS-in-JS 库的使用方式和语法


参考资料


初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉
相关文章
|
3月前
|
前端开发
create-react-app 如何使用 less/sass 和 react-css-modules?
本文详细介绍了在 create-react-app 项目中如何使用 less/sass 和 react-css-modules 来管理和应用样式。首先,通过安装相应依赖并配置 webpack 支持 less/sass;接着,介绍如何使用这些预处理器编写样式;最后,讲解了如何配置和使用 react-css-modules 实现样式的模块化管理,以及如何结合使用 less/sass 和 react-css-modules 提高开发效率和代码质量。
58 3
|
4月前
|
前端开发 JavaScript
React Tailwind CSS
10月更文挑战第12天
38 1
|
4月前
|
前端开发 容器
React 使用 CSS 样式
10月更文挑战第12天
57 0
|
5月前
|
JavaScript 前端开发
react Or vue中引入animate.css
本文介绍了如何在React或Vue项目中引入animate.css库来使用动画效果,包括通过npm安装或在线链接引入,并展示了如何在React组件和Vue路由过渡中使用动画类。
113 0
|
6月前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
76 0
|
6月前
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
328 0
|
9月前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
134 11
|
3月前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
119 9
|
4月前
|
前端开发
深入解析React Hooks:构建高效且可维护的前端应用
本文将带你走进React Hooks的世界,探索这一革新特性如何改变我们构建React组件的方式。通过分析Hooks的核心概念、使用方法和最佳实践,文章旨在帮助你充分利用Hooks来提高开发效率,编写更简洁、更可维护的前端代码。我们将通过实际代码示例,深入了解useState、useEffect等常用Hooks的内部工作原理,并探讨如何自定义Hooks以复用逻辑。
|
3月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
280 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生

热门文章

最新文章