在使用带有 .active
属性的 CSS 模块时,你应该在 className
中放置一个变量,这个变量会根据组件的状态来决定是否应用 .active
类。以下是一个简单的示例:
// 假设你有一个 CSS 模块文件 styles.module.css
/* styles.module.css */
.active {
color: red;
}
// 在你的 React 组件中使用这个 CSS 模块
import React, { useState } from 'react';
import styles from './styles.module.css';
const MyComponent = () => {
const [isActive, setIsActive] = useState(false);
const toggleActive = () => {
setIsActive(!isActive);
};
return (
<div>
<button onClick={toggleActive}>Toggle Active</button>
<div className={`${styles.active}${isActive ? ' active' : ''}`}>
This text will turn red when active.
</div>
</div>
);
};
export default MyComponent;
styles.module.css
文件定义了一个 .active
类,当应用到元素上时,会使文本颜色变为红色。MyComponent
组件中,使用 useState
钩子来管理 isActive
状态。className
中,使用模板字符串来动态添加 .active
类。如果 isActive
为 true
,则添加 active
类;否则不添加。通过这种方式,你可以灵活地控制组件的样式,同时保持代码的清晰和可维护性。
领取专属 10元无门槛券
手把手带您无忧上云