기능 공유 및 에러핸들링
[Error] Rendered more hooks than during the previous render.
Fo_rdang
2024. 8. 24. 21:03
반응형
에러 발생
React Hook "useForm" is called conditionally.
React Hooks must be called in the exact same order in every component render.
Did you accidentally call a React Hook after an early return?
문제 코드
아래 해당 코드를 MyPage()의 맨 밑에 위치시켰을 때 에러가 발생했다.
문제 이유
React Hook 인 `useForm`을 return 문 뒤에 선언되도록 해서 문제가 생긴 것이다.
컴포넌트가 호출될 때,
1. 해당 컴포넌트에서 사용되는 상태들을 확인하고
2. return을 만나면 페이지를 렌더링한다.
하지만 return 문 이후에 useForm 을 작성하면
이미 렌더링을 했는데 페이지에서 사용되어야 할 상태를 선언하게 된 것임 !!
문제 해결
return 이전에 위치시켰다.
반응형