Next.js
React 폼 입력에서 예상치 못한 동작 디버깅하기
React 폼 컴포넌트가 의도대로 동작하지 않을 때 어디서부터 확인해야 하는지 정리했다.
React로 입력 폼을 만들다 보면 로컬에선 멀쩡한데 특정 환경에서만 문제가 생기는 경우가 있다.
렌더링 조건 확인
폼이 제대로 렌더링되는지 먼저 봐야 한다. 개발자 도구의 React DevTools로 컴포넌트 트리를 확인하면 상태와 props가 예상한 대로 전달되는지 알 수 있다.
이벤트 흐름 추적
입력 필드의 onChange 이벤트가 제대로 발생하는지 확인한다. 콘솔에 로깅을 추가하여 어느 시점에 상태가 변경되는지 추적한다.
const handleChange = (e) => {
console.log('Input value:', e.target.value);
setState(e.target.value);
};
모바일 환경에서 테스트
모바일에서만 문제가 발생한다면 뷰포트 크기와 키보드 입력 타이밍을 의심해봐야 한다. 브라우저의 개발자 도구에서 모바일 화면 크기를 시뮬레이션하여 테스트한다.
빌드 후 확인
로컬 개발 서버와 프로덕션 빌드 결과가 다를 수 있다. 항상 최종 확인은 실제 배포 환경에서 한다.
npm run build
npm start
이렇게 단계별로 확인하면 문제의 원인을 체계적으로 찾을 수 있다.