해결된 질문
작성
·
47
0
2.8) 페이지별 레이아웃 설정하기
안녕하세요 한입 nextjs 강의 잘 보고 있는데요!
하나 궁금한 게 생겨서 질문 남겨요!
20분쯤에 나오는 onKeyDown 으로 키보드 이벤트를 감지하여 처리하는 이유가 있을까요?
해당 부분만 form 으로 감싸면 자동으로 enter 클릭시 감지해서 요청을 보내게 되는데 onKeyDown으로 함수를 빼서 input 이벤트를 핸들링 하는 이유는 무엇인가요!
submit 직전 다른 데이터를 핸들링 할 때 form은 바로 submit이 일어나기 때문에 그런 부분에 있어서 확장성? 을 위한건가용?
답변 2
0
안녕하세요 이정환입니다.
말씀하신대로 <form>의 기능을 이용해 구현하셔도 됩니다. 특별히 onKeyDown을 사용하는 이유는 없습니다 😃
강의에서는 이후에 다룰 서버 액션에서 <form> 태그를 더 자주 활용하게 되므로, 다양한 방법을 소개해드리기 위해 onKeyDown을 활용하고 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 박준희님!
Next.js 강의를 수강하시면서 궁금한 점이 생기셨군요. onKeyDown 이벤트로 onSubmit을 처리하는 이유에 대해 설명드리겠습니다.
<form>
태그를 사용하는 경우, 기본적으로 엔터 키를 누르면 자동으로 onSubmit
이벤트가 발생하게 됩니다. 이는 폼 요소의 기본 동작으로, 즉시 제출을 유도하는 장점이 있습니다. 하지만 강사님께서 onKeyDown
이벤트를 직접 사용하는 경우에는 다음과 같은 몇 가지 이유가 있을 수 있습니다:
커스텀 로직 추가 가능: 엔터 키가 눌릴 때 추가적인 로직이 필요할 수 있습니다. 예를 들어, 특정 키 조합을 검사하거나, 특정 상태가 만족되는지 확인하는 등의 커스텀 동작을 추가할 수 있습니다.
제출 전 데이터 처리: 입력한 데이터를 서버로 보내기 전에 추가 검증을 하거나, 데이터를 가공하는 작업이 필요할 수 있습니다. 이를 위해 onKeyDown
이벤트 내에서 적절한 처리를 하고, 조건에 따라 onSubmit
을 호출하는 방식을 취할 수 있습니다.
확장성: 향후 다른 키와의 조합이나 다른 이벤트와의 연동이 필요할 때 onKeyDown
을 사용하면 쉽게 확장할 수 있습니다.
관련된 유사한 질문과 답변을 참고하시면 더 많은 정보를 얻을 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.