七、CSS Module
小于 1 分钟约 176 字
- CSS 模块
- 创建一个
xxx.module.css
文件 - 在组件中引入
css
import classes from "./App.module.css";
- 通过
classes
设置类<p className={classes.p1}>我是一个段落</p>
- 创建一个
- 可以动态设置唯一的
class
,不担心重名冲突
src/A.js
(一) import React from "react";
import classes from "./A.module.css";
// import classes from "./App.module.css";
export default function A() {
return <div className={classes.p1}>A</div>;
}
src/A.module.css
(二) .p1 {
background-color: tomato;
color: #fff;
}
src/App.js
(三) import React, { useState } from "react";
import A from "./A";
import classes from "./App.module.css";
export default function App() {
const [showBorder, setShowBorder] = useState(false);
const clickHandler = () => {
setShowBorder(!showBorder);
};
return (
<div>
<A />
<p className={`${classes.p1} ${showBorder ? classes.border : classes.p1}`}>我是一个段落</p>
<button onClick={clickHandler}>点我一下</button>
</div>
);
}
src/App.module.css
(四) .p1 {
color: red;
background-color: #bfa;
}
.border {
border: 1px solid red;
}