const 와 useState

forestream·2024년 2월 7일
0

리액트 배우다가 마주친 코드

const [ num, setNum ] = useState(initialValue);

오해

난 위 코드가

const num = initialValue;
const setNum = (newValue) => {num = newValue};

이렇게 할당되는 줄 알았다.

setNum 함수를 호출해도 const로 선언한 num 값이 바뀌는 게 불가능해야 한다고 생각했다.

사실

하지만

const state = [];
state[0] = initialValue;
state[1] = (newValue) => {num = newValue};

오늘 특강을 듣다가 위와 같이 할당되는 것으로 봐야 한다는 걸 배움.

문제

  • 구조분해 개념을 제대로 모르고 있었던 것. (아직도 부족함)
  • 이를 이해하기 위한 또 다른 개념인 클로저를 아예 모르는 상태.

해결법

일단 개념 공부를 더 하면서 (천천히) 익숙해진 것 같으면 useState 함수와 const 선언에 대해 다시 생각해 보기.

0개의 댓글