我有一個非常簡單的React組件,其中我將onClick
事件的回調傳遞給子元素;然而,onClick事件似乎並不火。該類是低於,HamburgerMenu
和Hamburger
正確導入/渲染,沒有事件存在於這些組件。當函數傳遞給子代時,React onClick事件不會觸發
export default class AppHandler extends React.Component {
componentWillMount() {
this.state = {
menuOpen: false
};
}
render() {
return (
<div>
<HamburgerMenu menuOpen={this.state.menuOpen} />
<div className="content">
<nav>
<Hamburger onClick={this.onMenuChange.bind(this)} />
</nav>
</div>
</div>
);
}
onMenuChange() {
console.log('onMenuChanged');
this.setState({ menuOpen: !this.menuOpen });
}
};
我可以得到它,如果在Hamburger
組件我設定的根元素上的另一個onClick
事件,然後設置this.props.onClick
作爲事件處理工作,但似乎喜歡它的一切,從我不需要有鋸。
任何指導?謝謝!
它應該是'this.onMenuChange.bind(this)',但是至少在單擊時會出現控制檯錯誤。你確定你點擊時絕對沒有控制檯錯誤? – loganfsmyth
我的確發現有一些東西實際綁定到了'Hamburger'組件的'onClick'上,但它實際上並沒有調用onMenuChange'。所以它不會拋出錯誤,因爲實際上有些東西是綁定的,但是綁定的東西是不正確的。 – BenM