2017-03-03 297 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