키를 눌렀을 때 발생하는 KeyPress 이벤트를 처리하는 방법을 알아보자.
import React, { Component } from 'react';
// 4.2.5 onKeyPress 이벤트 핸들링
class EventPractice_onKeyPress extends Component {
state = {
username: '',
message: '',
};
handleChange = (e) => {
this.setState({
[e.target.name]: e.target.value,
});
};
handleClick = () => {
alert(this.state.username + ': ' + this.state.message);
this.setState({
username: '',
message: '',
});
};
handleKeyPress = (e) => {
if (e.key === 'Enter') {
this.handleClick();
}
};
render() {
return (
<div>
<h1>이벤트 연습</h1>
<input
type="text"
name="username"
placeholder="사용자명"
value={this.state.username}
onChange={this.handleChange}
/>
<input
type="text"
name="message"
placeholder="아무거나 입력해 보세요"
value={this.state.message}
onChange={this.handleChange}
onKeyPress={this.handleKeyPress}
/>
<button onClick={this.handleClick}>확인</button>
</div>
);
}
}
export default EventPractice_onKeyPress;
// App.jsx
import React from 'react';
import EventPractice_onKeyPress from './features/4_EventHandling/EventPractice_onKeyPress';
const App = () => {
return <EventPractice_onKeyPress />;
};
export default App;
두 번째 텍스트 인풋에서 텍스트를 입력하고 Enter를 눌렀을 때handleClick 메서드가 실행되는지 확인해보자.


