import React, { Component } from 'react';
import './App.css';
import Manoeuvre from '../Manoeuvre/Manoeuvre';
import Box from '../Box/Box';
class App extends Component {
constructor(){
super();
this.state = {
top: 0,
right: 0,
bottom : 0,
left: 0
}
}
doit = () => {
console.log('this')
}
render() {
window.addEventListener('keypress', function(e){
this.doit()
});
return (
<div className="all">
<Manoeuvre />
<Box />
</div>
)
}
}
export default App;
您好,我正试着从我的eventlistener按键调用函数doit,但无法知道如何操作,任何人都可以提供帮助吗? :)我从现在开始就坚持这个
我得到了errot typerror:doit不是函数
答案 0 :(得分:0)
this
是回调。您需要bind
回调或使用箭头功能。
另外:
不要将window.addEventListener
放入render
函数中 - 这应该放在componentDidMount
中(并且在componentWillUnmount
- 取消隐藏< / em>(是一个单词?)。
为什么不只是window.addEventListener(this.doit)
? (不必担心绑定,这里)