繁体   English   中英

在 next.js 中将 props 作为 classNames 传递

[英]passing props as classNames in next.js

我试图让我的每个应用程序页面的 header 根据当前页面更改颜色。 我如何努力实现这一目标:

<Header className="headerBitcoin"></Header>

我想要的是能够让 header 组件出现在所有 4 个页面上,然后只需将 className 更改为另一个道具即可更改背景,但不会更改其他任何内容。
以及 header 组件本身

import styles from "../../styles/Home.module.css";
export default function Header(props) {
  return (
    <div >
      <div className={props.className}>aaaaa</div>
      <div className={styles.row}>
        <div className={styles.tab}>a</div>
        <div className={styles.tab}>a</div>
        <div className={styles.tab}>a</div>
        <div className={styles.tab}>a</div>
      </div>{" "}
    </div>
  );
}

目前,选项卡和行的 styles 正在工作,但 header 没有应用其样式。
我检查了控制台,发现 header 正在将 className headerBitcoin传递给它,但是它下面的行的 className 为"Home_row__88lPM"
这是我第一次使用 next.js,我知道我做错了什么,因为这适用于 React。 任何帮助,将不胜感激。

不要这样做:

<div className={props.className}>aaaaa</div>

试试这个:

<div className={styles[props.className]}>aaaaa</div>

我认为这应该有效

我认为它没有被应用,因为您在 CSS 模块中定义了headerBitcoin styles。

您需要在全局 CSS 中定义它们才能以这种方式应用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM