본문 바로가기

분류 전체보기85

TIL: Redux Toolkit과 Immer 동작 원리 TIL: Redux Toolkit과 Immer 동작 원리Redux Toolkit 내부에서 Immer가 어떻게 동작하는가Redux Toolkit(RTK)은 기본적으로 Immer가 내장되어 있다.그래서 createSlice 안에서 작성한 리듀서는 겉으로 보면 직접 state를 수정하는(mutate) 코드처럼 보이지만,실제로는 Immer가 내부에서 불변성을 지키면서 새로운 state를 생성한다.state.count += 1; // mutate처럼 보임하지만 실제로 일어나는 일은 이렇다:Immer가 state를 draft 객체로 감싼다.draft에 가해진 변경을 Proxy로 감지한다.변경된 부분만 새로운 객체로 복사(구조적 공유).완전히 새로운 state를 반환한다.produce 개념Immer의 핵심 함수는 p.. 2025. 11. 17.
TIL: 불변성이 왜 필요한가 TIL: 불변성이 왜 필요한가1. 불변성이 중요한 이유React는 상태 변경 여부를 내부 값 비교가 아니라 참조 비교(얕은 비교) 로 판단한다.그래서 객체 내부의 값이 실제로 바뀌어도 참조가 그대로면 React는 변경을 감지하지 못하고 리렌더를 하지 않는다.불변성을 유지하는 건 리액트 렌더링 구조의 기본 전제.2. 얕은 비교(shallow compare)와 리렌더 구조리액트는 트리 전체를 순회해야하는 깊은 비교는 비용이 크기 때문에 얕은 비교를 사용하여 참조가 바뀌었는지만 확인한다.깊은 비교 → 전체 탐색 → 느림얕은 비교 → 참조 확인만 → 빠름prevState === nextState;이러면 “변경 없음”으로 본다.그래서 불변성을 지키지 않으면 리렌더 안됨.3. 불변성을 안 지키면?❌ 직접 값 변경(.. 2025. 11. 16.
제 블로그에서 다나가주세요 다 나가 2025. 11. 6.
최근 글이 안 올라오는 이유 이유: 취업함취업회고:수습3개월이 너무 빨리지나갔다..일하는거 재밌다 .좋은 사람들이 많다 .다들 잘해주심사회성 없어서 좀 걱정햇는데 다행이다.폐급이되지않도록 열심히해야지..회사에서 제대로된 코드리뷰란걸 첨해봣는데좋음누군가 내 코드를 자세히 봐주고 조언해준다는게 너무 고마운거같다..아무튼회사다니면서아직 많이 부족하고 공부할게많구나 느낀다더 열심히해야지 2025. 2. 21.