지금까지 우리는 리액트의 필수 무기인 useState(상태 관리), useEffect(부수 효과), useRef(DOM 제어 및 저장소)를 모두 배웠습니다. 이 3가지만 완벽히 이해해도 리액트로 못 만들 기능은 거의 없다고 보셔도 됩니다. 그런데 실무에서 회원가입이나 로그인 폼(Form)을 만들다 보면 뭔가 단단히 잘못되어 가고 있다는 느낌을 받을 때가 있습니다.이메일, 비밀번호, 닉네임, 전화번호... 입력창이 늘어날수록 똑같은 형태의 useState와 onChange 함수를 무한정 복사&붙여넣기 하고 있는 내 자신을 발견하게 되거든요. "아, 이거 진짜 너무 비효율적인데? 코드 길어지는 것 좀 봐..." 이런 깊은 빡침(?)과 고민을 해결하기 위해 리액트가 준비한 기가 막힌 해결책, 바로 커스텀 훅(..