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 메서드가 실행되었나요?

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.