javascript - 如何将类添加到被调用的组件?
问题描述
我不知道如何将一个类添加到我从另一个页面调用的标题组件中。我想知道如何添加更改类,在这里看起来如何
const [change, setChange] = useState("change");
const listenScrollEvent = (e) => {
if (window.scrollY < 400) {
return setChange("change");
} else if (window.scrollY > 400) {
return setChange("changeColor");
}
};
useEffect(() => {
window.addEventListener("scroll", listenScrollEvent);
return () => {
window.removeEventListener("scroll", listenScrollEvent);
};
}, []);
return <Header className={change} />;
标头代码:
export default function Header() {
return (
<header className="container header">
<Logo />
<Navbar />
</header>
);
}
解决方案
您需要接受className
作为Header
组件的道具。
像这样的东西:
export default function Header({ className }) {
return (
<header className={`container header ${className}`}>
<Logo />
<Navbar />
</header>
)
}
推荐阅读
- swift - 无法使用 onAppear 重新渲染视图
- python - 如何用sqlite制作多个数据库
- css - HTML Canvas,多边形相互连接
- build - 在 Ubuntu 20.04 上构建 Alexa Auto SDK 时将 gnulib fseeko.c 移植到您的平台
- visual-studio-2019 - Visual Studio 2019 中缺少“删除未使用的引用”
- python - 在 KDevelop 中设置自定义或使用系统 PYTHONPATH
- quartz.net - 如何使用 SQL 脚本手动将 Quartz Trigger 状态更新为 COMPLETED
- java - Javamail:为 folder.search 设置超时
- wpf - 如何在 MVVMCross WPF 应用程序中从核心项目设置 MainWindow 标题
- python - 如何以特殊形式添加一行