2017-06-15 60 views
0

我的代碼如下所示(使用CSS模塊):添加樣式屬性似乎沒有拿起

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

不工作(即CSS不適用於元素)。但是,返回

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

工作得很好。爲什麼在自定義元素上應用className會導致該類被忽略?

+0

LandingPage組件的外觀如何?你需要把這個className最終放在一個html元素上 – azium

+0

答案和這個問題一樣https://stackoverflow.com/questions/44070162/react-why-event-is-not-being-fired/44070389#44070389 –

回答

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> 
    ) 
} 

永遠記住道具是一個對象,無論數據,你會通過從母只會變得道具價值的一部分,你需要在子組件的某處使用該數據。

檢查console,它將打印出您從父項傳遞的適當類名。

+0

不,非常感謝。 –

相關問題