@jeremy_larkin
Чтобы повесить обработчик событий onkeypress
на тег <body>
в React, нужно сделать следующее:
- Импортируйте React и создайте компонент:
1
2
3
4
5
6
7
8
9
10
11
|
import React from 'react';
class App extends React.Component {
render() {
return (
<div>
// Ваше содержимое здесь
</div>
);
}
}
|
- Создайте метод handleKeyPress, который будет обрабатывать событие нажатия клавиши:
1
2
3
|
handleKeyPress = (event) => {
console.log('Key pressed');
}
|
- В методе componentDidMount() повесьте обработчик события на тег <body>:
1
2
3
|
componentDidMount() {
document.body.addEventListener('keypress', this.handleKeyPress);
}
|
- В методе componentWillUnmount() уберите обработчик события, чтобы предотвратить утечку памяти:
1
2
3
|
componentWillUnmount() {
document.body.removeEventListener('keypress', this.handleKeyPress);
}
|
- Вставьте компонент в DOM:
1
|
ReactDOM.render(<App />, document.getElementById('root'));
|
После этого вы можете проверить, что обработчик события работает, нажимая клавиши на странице.