【发布时间】:2019-08-09 05:28:44
【问题描述】:
我在我的 Reactjs 代码中创建了一个新组件,并在那里有一个带有 onClick 功能的按钮。但是 onClick 功能不起作用。我尝试了一切,但仍然无法正常工作。有什么想法可以解决这个问题吗?
import React, { Component } from 'react';
import MenuIcon from '@material-ui/icons/Menu';
class HeaderComponent extends React.Component {
constructor(props){
super(props);
this.openMenuBar = this.openMenuBar.bind(this);
}
openMenuBar(){
console.log("open");
}
render(){
return(
<div>
<button onClick={() => { this.openMenuBar()}}>
<MenuIcon/>
</button>
</div>
);
}
}
然后在 app.js 中调用这个组件
<HeaderComponent/>
更新
一些有用的信息:每当我将它路由到路径 (app/path/xx) 时,该按钮就不可点击。否则是否可点击(如果路径为root)
【问题讨论】:
-
您正在混合两种语法。试试
onClick={() => this.clickHandler()}或onClick={() => {return this.clickHandler()}}甚至onClick={this.clickHandler}。 -
我不认为@Thanatos 发布的代码是错误的,因为本质上他是在声明一个匿名箭头函数,在其中他引用和调用
openMenuBar。 -
我做了第一条评论中提到的一切.. 仍然无法正常工作:/
标签: reactjs button buttonclick