2017-03-03 287 views
0

我想隱藏/顯示元素列表,當我點擊按鈕,但它不會隱藏它們,並且「shouldHide」的console.log等於undefined。隱藏/顯示點擊另一個div

功能

showHideToggle(){ 
    this.setState({shouldHide: true}); 
} 


    const { shouldHide} = this.props; 

股利我想隱藏

 <div className={shouldHide ? 'hidden' : ''} > 
     <WeatherInfo /> 
    </div>; 

這是從一個單獨的我試圖隱藏DIV

<div onClick={(e) => {this.List(e);this.showHideToggle}}></div> 

構造

this.state = { 
    shouldHide: true 
}; 
+0

你確定你沒有試圖做'const {shouldHide} = this.state;'而不是? –

+0

仍然未定義,即使當我把這個.state – OunknownO

+0

你有定義狀態在你的'構造函數?也許顯示太 –

回答

1

你的構造應該是這樣的:

constructor(props) { 
    super(props); 
    this.state = { shouldHide: true }; 
    } 

和您的顯示隱藏也許應該這樣做,而不是否則將無法切換,並且將永遠是真正的

showHideToggle(){ 
    this.setState({shouldHide: this.state.shouldHide ? false : true}); 
} 

const { shouldHide} = this.props;應該是在渲染const { shouldHide} = this.state區域

<div className={this.state.shouldHide ? 'hidden' : ''} >應該工作以及它在正確的區域。

+0

很酷它隱藏它。現在去除課堂只是做相反的事情? – OunknownO

+0

如果你再次點擊它,它應該刪除它,但我可能是錯誤的:X但是,只是刪除類,如果它是如何工作的 –

+0

nop它不會刪除它現在刪除類我需要返工? – OunknownO