在自定义 React 元素上添加 style 属性似乎没有回升

IT技术 javascript reactjs css-modules
2021-05-26 11:19:13

我有如下代码(使用 CSS module):

return (
  <div>
    <LandingPage className={styles.hidden} />
  </div>
);

哪个不起作用(即不将 CSS 应用于元素)。然而,回归

  <div>
    <div className={styles.hidden}>
      <LandingPage />
    </div>
  </div>

工作得很好。为什么className在自定义元素上应用 a会导致类被忽略?

1个回答

这里className不会直接应用于LandingPage组件,它基本上是props您从父组件传递给子组件的值,您需要在LandingPage组件内部应用该类

像这样:

<LandingPage customClassName={styles.hidden} />

内部LandingPage

render(){
   console.log('class name', this.props.customClassName);
   return(
       <div className={this.props.customClassName}>
           {/* other elements */}
       </div>
   )
}

永远记住props 是一个对象,你从父组件传递的任何数据都只会成为 props 值的一部分,你需要在子组件的某个地方使用这些数据。

检查console,它将打印您从父级传递的正确类名。