개발자

useState에서 const를 사용하는 이유는 뭔가요?

2022년 10월 12일조회 311

react를 사용할때 useState hook을 많이 사용하는데요 const [count, setCount] = useState(0) 이렇게 사용하고 setCount를 이용해서 count가 변화가 되는데 왜 const를 사용하는 걸까요?! let [count, setCount] = useState(0)가 더 맞는거같은 기분입니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

엄홍재님의 프로필 사진

평소에 아무 생각없이 사용하는 경우가 많았는데 이 질문으로 다시 찾아보게 되네요! - https://dudghsx.tistory.com/18 - https://hewonjeong.github.io/deep-dive-how-do-react-hooks-really-work-ko/ 위의 두 개 링크를 참고해 보면 좋을것 같아요.

김대현님의 프로필 사진

이미, 앞서 엄홍재님이 좋은 글 링크를 남겨주셨네요. 링크된 글의 내용이 제가 좀 잘 못 이해했을 수도 있고, 작성자가 좀 다르게 보신 부분이 있어, 첨언합니다. const [count, setCount] = useState(0)으로 가져온 count는 현재 카운터 값을 가져 온 것이고, setCount는 그 상태값을 바꿀 수 있는 "함수"를 값으로 지칭 한 것입니다. 그 변화 대상인 상태(카운터)는 변화되는 게 맞지만, 그 일을 수행하는 "함수"는 바뀌지 않기 때문에 const로 쓴 거라고 이해하고 있습니다. 물론 let으로 하든 var로 하든 안되는 건 아니지만, const가 더 적절한 상황입니다. 즉, const setCount = (newCounter) => { /* 어떤 일을 해서 카운터 변경 */ } 이런 함수를 useState안 에서 만들어서 반환한 거고, 그걸 받아서 setCount라는 상수에 바인딩한 거죠. 이 useState처럼, 다른 함수를 받거나 반환하거나 둘다 하는 함수를 "고차함수"(또는 고계함수, Higher-order function)라고 부릅니다. 제 이해에 틀린 부분이나 보완할 부분은 편히 알려주시면 제게도 도움이 되겠습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!