[useEffect] useState 사용 문제

JJeong·2021년 4월 5일
0


문제 정의

사용자 form을 만들고 있었다. form이 전부 채워지지 않으면 제출하기 버튼이 비활성화되어야 한다. (submitActivation: false / 현재는 submitButtonActive로 이름 바꿈) 그런데 처음 마운트될 때 useEffect가 호출되고 이 때 state가 변경될 경우 컴포넌트가 리렌더링되면서 무한 state 변경이 일어났다.


해결

주석으로 달았다시피 처음 마운트될 때 초기값 state가 변하지 않으면 useState를 사용해도 상관 없다. 다만 그 외의 경우에 대해서는 어떻게 대응해야 할까? 매번 마운트될 때마다 상황이 달라지는 부분에 대해서 state를 정의해야 할 때는 다른 hook을 사용해야 하는 걸까? 이건 좀더 고민해야 할 문제이다.

0개의 댓글