Я пытаюсь создать выпадающее меню в React, и я не понимаю, почему прослушиватель событий onClick в возврате не работает. Сначала меню загружается, как ожидалось, без видимости, но при нажатии на класс ничего не происходит.React onClick Not Working
var NavLinkContainer = React.createClass({
getInitialState: function(){
return {
listVisible: false
};
},
show: function(){
this.setState({
listVisible: true
});
},
hide: function(){
this.setState({
listVisible: false
});
},
generateItem: function(item){
return <NavLink bold={item.bold} key={item.id} url={item.url} text={item.text}/>
},
render: function(){
var items = this.props.items.map(this.generateItem);
var visible = this.state.listVisible;
var listClass;
if (visible){
listClass = 'navlinkcontainer';
} else {
listClass = 'navlinkcontainer hide'
}
return (
<ul className={listClass} onClick={this.show}>
{items}
</ul>
);
}
});
Какая версия Реагента вы используете? Вам может понадобиться 'this.show.bind (this)'. –
Я использую 0.13.3 – Shawn123
Не нужно связывать это, так как показ находится в том же объеме –