前端/移动开发面试题更新 2026-08-05

在 React 项目中,有哪些方法可以引入和使用 CSS 样式?请列举并简述其特点。

前端/移动开发技术原理技术选型方案权衡CSSReact

考察说明

考察对 React 样式中多种 CSS 引入方式及其适用场景的理解。

回答思路

  1. 【回答框架 1】React 中引入 CSS 的方式主要包括:全局 CSS 文件、CSS Modules、CSS-in-JS 方案(如 styled-components、Emotion)、预处理器(如 Sass/Less)以及 Tailwind CSS 等原子化 CSS 框架。
  2. 【回答框架 2】全局 CSS 文件直接在组件文件中 import './style.css',样式全局生效,可能导致命名冲突和维护困难。适用于简单项目或全局样式(如重置样式)。
  3. 【回答框架 3】CSS Modules 将 CSS 文件局部作用域化,通过 import styles from './style.module.css',类名被自动编译为唯一类名,避免冲突。推荐用于组件级样式。
  4. 【回答框架 4】CSS-in-JS 通过 JavaScript 编写样式,如 styled-components,支持动态样式、主题和组件化,但可能增加运行时开销。适用于需要高度动态样式的场景。
  5. 【回答框架 5】预处理器(Sass/Less)提供变量、嵌套、混合等特性,提高样式编写效率,但需要构建配置。Tailwind CSS 则通过工具类快速开发,但可能导致类名冗长。
  6. 【关键点 1】React 引入 CSS 的方式有全局导入、CSS Modules、CSS-in-JS、预处理器和原子化 CSS。
  7. 【关键点 2】全局导入样式全局可见,容易冲突。
  8. 【关键点 3】CSS Modules 提供局部作用域,适合组件级样式。
  9. 【关键点 4】CSS-in-JS 支持动态样式,但可能影响性能。
  10. 【关键点 5】预处理器和原子化 CSS 各有优劣,按项目需求选择。
  11. 【易错点 1】CSS-in-JS 每次渲染可能重新生成样式,造成性能开销。
  12. 【易错点 2】预处理器编译配置不当可能导致样式失效。