jeong-min.com
postsaboutguestbookplayground
All
75 posts
All
Dev
Experience
React만들어보기
당근마켓시리즈
인턴회고
회고
useState를 반복문과 조건문에서 사용할 수 없는 이유

리액트 공식 문서를 읽다보면 다음과 같은 문장을 마주할 수 있다. 주의사항 useState는 Hook이므로 컴포넌트의 최상위 레벨이나 직접 만든 Hook에서만 호출할 수 있습니다. 반복문이나 조건문 안에서는 호출할 수 없습니다. 필요한 경우 새 컴포넌트를 추출하고 state를 그 안으로 옮기세요.   🤔 “왜 useState를 반복문이나 조건문 안에서 쓰면 안 되는 걸까?”   React 훅의 동작 원리 리액트 훅의 핵심 원리 중 하나는 훅의 호출 순서가 항상 같아야 한다는 것이다. 리액트는 컴포넌트가 리렌더링될 때마다 훅들을 순서대로 실행하는데, 만일 이 순서가 변경된다면 리액트는 어떤 상태가 어떤 useState 호출에 해당하는지 추적할 수 없게 된다. 만일 조건문 내에서 useState를 사용한다면, 조건의 값에 따라 훅의 호출 순서가 바뀌게 된다. 반복문 내에서도 마찬가지다. 반복 횟수에 따라 훅의 호출 횟수가 달라지게 된다. 위 두 경우 모두 리액트가 예측할 수 없는 동작…

2024.09.09
Dev

© Powered by danmin