티스토리 뷰
정신없는 일주일이었다.
집안일 하랴, 스터디하랴, 회사일 하랴, 공부하랴 바빴다.
주말엔 컨퍼런스 다녀왔다.
정녕 이것이 개발자의 삶?!
수면을 4시간 이하로 유지했을 때 생긴 문제로 아직까지 고통받고 있기에 잠을 줄일 순 없다.
깨어 있는 시간을 최대한 활용해야 한다.
화이팅인 것이에요
공부하면서 어려웠던 부분은 State update 개념을 제대로 이해하는 것이었다.
그냥 useState를 사용해야만 상태가 바뀌었을 때 리렌더링 된다는 정도였다.
하지만 깊게 파고들다보니 가볍게 보면 안 될 것 같았다.
아래 내용은 이해를 위해 리렌더링을 이사에 비유하여 간단히 정리해보았다.
기존 상태가 다음 상태와 바라보는 주소값이 같을 경우 리렌더링을 하지 않고 건너뛰게 된다.
기존 집에서 가구 배치만 변경할 경우를 생각해보자.
내부의 가구 배치만이 달라졌을 뿐, 기본적인 구조는 유지된다.
메모리 주소가 변경되지 않았기에 집 자체에 대한 이사가 필요없다.
상태 객체/배열의 내용은 변경될 수 있지만, 참조(주소)가 같으면 React는 리렌더링하지 않는다.
새로운 집으로 가구를 옮겨야 할 경우에는 어떠한가?
가구배치 뿐만 아니라 옮길 집에 따라 가구 자체가 바뀔 수도 있다.
새 집으로 가야하니 이사를 해야 한다.
새로운 객체/배열(주소)로 상태가 변경되면 React는 컴포넌트를 리렌더링한다.
여기서 이사는 리렌더링이다.
React는 참조(주소값)의 변경을 기반으로 상태 변경을 판단하며, 이를 통해 불필요한 리렌더링을 최소화하여 성능을 최적화한다.
이 비유가 적절한진 모르겠으나 나는 이해하고자 노력했다.
스터디 시간이 언제 끝날지 모르니 강의 수강 시간이 붕뜰 때가 있다.
다음엔 시간분배에 신경을 써서 효율적인 학습시간을 가져야겠다.
'회고록' 카테고리의 다른 글
메가테라 프론트엔드 생존코스 12주차 회고 (1) | 2023.12.10 |
---|---|
메가테라 프론트엔드 생존코스 10주차 회고 (0) | 2023.11.26 |
메가테라 프론트엔드 생존코스 9주차 회고 (0) | 2023.11.19 |
메가테라 프론트엔드 생존코스 8주차 회고 (2) | 2023.11.12 |
메가테라 프론트엔드 생존 코스 후기 (2) | 2023.11.08 |