Javascript 单击键代码时的反应未定义?

Javascript 单击键代码时的反应未定义?,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我知道用keypress或keyDown我可以检查按下了哪个键,但用onClick我不能这样做 class App extends React.Component { handleClick = e => { console.log(e.keyCode); }; render() { return <h1 onClick={this.handleClick}>Hello CodeSandbox</h1>; } } 类应用程序扩展了R

我知道用
keypress
keyDown
我可以检查按下了哪个键,但用
onClick
我不能这样做

class App extends React.Component {
  handleClick = e => {
    console.log(e.keyCode);
  };
  render() {
    return <h1 onClick={this.handleClick}>Hello CodeSandbox</h1>;
  }
}
类应用程序扩展了React.Component{
handleClick=e=>{
console.log(例如keyCode);
};
render(){
返回Hello CodeSandbox;
}
}


这里的问题是什么?

keycode用于
键盘事件
而不是鼠标点击,无论如何都被认为是过时的。
从:

不再建议使用此功能。虽然有些浏览器可能 仍然支持它,它可能已经从相关文件中删除 web标准,可能正在被删除,也可能只是 出于兼容性目的而保留。避免使用它,并更新现有的 如果可能的话,编码;请参阅本文档底部的兼容性表 页面以指导您的决策。请注意,此功能可能会停止使用 随时工作


react dispatches的
onClick
属性
react.ClickEvent
没有
keyCode
属性。由于这是一个鼠标事件,因此事件对象上存在与键盘相关的属性是不合逻辑的

与键盘相关的属性存在于React.KeyboardEvent上,该属性由React的键盘事件相关道具(如
onChange
onkeypup
onkeypdown
等)调度


您好,这里您使用的是h1标记,在此标记中无法处理onClick函数。请在按钮标记中执行此操作,然后尝试使用它

您需要在onClick中发送一个参数,比如
onClick={(e)=>this.handleClick(e)}

this.handleClick(e)}>Hello CodeSandbox
对于特定的键码,请通过以下链接


keyCode是KeyboardEvent的属性,而不是ClickEvent的属性,因此它是未定义的。。。
<Button onClick={(e) => this.handleClick(e)}>Hello CodeSandbox</Button>