타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)/주간정리
헷갈리는 것 모음 / 정리 - state와 메모리
슈크림 붕어빵
2024. 2. 15. 13:54
일반 변수인 경우
변수의 값을 10에서 20으로 바꾸면 변수의 주소가 바뀌는지
=> 그렇다면 콜스택에서 "주소"가 바뀌기 때문에 리렌더링이 일어나는 것인지
=> 콜스택에서 "값"이 바뀌어서 리렌더링이 일어나는 것인지
이후에 10을 또 저장하는 변수가 있다면 이전에 저장했던 10의 주소를 가리키는 것인지.
배열인 경우
같은 배열을 가리키는 변수라면 콜스택의 주소도 같은지
=> 리렌더링의 기준이 콜스택의 value인지...
참고
프론트엔드 - React 동작원리 - TIL (프로그래머스 데브 코스) (lsevina126.netlify.app)
프론트엔드 - React 동작원리 - TIL (프로그래머스 데브 코스)
프론트엔드 - React 동작원리 - TIL (프로그래머스 데브 코스)
lsevina126.netlify.app
답
리액트는 setState로만
배열 참조값 깊은 복사 하면 바꾸면 콜스택주소와 value(힙메모리)모두 바뀐다.
콜스택의 주소로만 판단한다.
원시값 재할당
=> 안됨.useEffect해도 콜스택 주소값이 바뀌었으니까..
=> useState를 하니까 된다.