4.2.5 onKeyPress 이벤트 핸들링
이번에는 키를 눌렀을 때 발생하는 KeyPress 이벤트를 처리하는 방법을 알아보겠습니다. comment 인풋에서 Enter를 눌렀을 때 handleClick 메서드를 호출하도록 코드를 작성해 봅시다.
EventPractice.js
import React, { Component } from 'react'; class EventPractice 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;
두 번째 텍스트 인풋에서 텍스트를 입력하고 Enter를 눌러 보세요. handleClick 메서드가 실행되었나요?