Next.js
React 폼이 서버에서만 실패할 때 확인할 것
개발 환경에서는 완벽하지만 배포 후 서버에서만 폼 입력이 실패할 때, 어디서부터 확인해야 하는지 정리했습니다.
React 폼이 로컬에서는 잘 작동하다가 서버에 배포되면 갑자기 실패하는 경험은 누구나 있다. 그럴 때는 화면만 보고 판단하면 절대 원인을 찾을 수 없다.
핵심은 사용자가 보는 화면과 개발자가 볼 수 있는 신호를 동시에 추적하는 것이다. 에러 문구, 응답 코드, 로그를 모두 모아야 원인을 좁힐 수 있다.
로컬과 운영 환경의 숨겨진 차이
개발할 때는 모든 것이 순조롭다가 배포하는 순간 문제가 터진다면, 환경 차이를 의심해야 한다. API 주소, 인증 토큰, CORS 설정, 폼 검증 규칙 등이 다를 수 있다.
변경 전후를 기록해두고 하나씩 비교하면 패턴이 보인다. 어떤 입력은 성공하고 어떤 입력은 실패하는지 확인한다. 이 정보만으로도 범위를 크게 줄일 수 있다.
모바일 화면에서만 실패하는 경우
특히 모바일 환경에서만 폼이 실패한다면, 화면 너비나 입력 흐름이 달라진 것일 수 있다. 브라우저의 개발자 도구로 모바일 화면을 에뮬레이션하고, 키보드 입력 흐름을 직접 확인해본다.
npm run build
# 브라우저에서 모바일 폭과 키보드 입력 흐름을 확인한다
빌드 후 실제 배포 환경과 동일한 조건에서 테스트하는 게 중요하다.
에러 메시지가 사용자에게 보이는가
폼 입력 실패를 알려주는 에러 메시지가 화면에 나타나는지 확인한다. 만약 아무 메시지 없이 조용히 실패한다면, 에러 처리 로직 자체가 없을 가능성이 높다.
개발자 도구 콘솔에서 에러가 무엇인지 직접 봐야 한다. API 응답이 뭔지, 폼 검증이 어디서 실패했는지 추적한다.
확인 순서
- 정상 상태를 정해둔다 (예: 특정 입력값으로 성공해야 한다)
- 모바일 화면에서 실제로 입력을 해본다
- 브라우저 콘솔과 네트워크 탭에서 에러를 확인한다
- API 응답이 정상적인지 확인한다
- 로컬 빌드 결과와 서버 배포 결과를 비교한다
변경한 부분이 있다면, 그전의 상태와 정확히 무엇이 달라졌는지 한 줄로 설명할 수 있어야 한다. 이 과정을 거치면 폼 입력 실패 원인을 빠르게 찾을 수 있다.