728x90
반응형
React는 이전 Props와 새 props를 Shallow equality 를 비교한다. 즉, 새 props와 이전 props 들의 참조가 동일한지 여부를 고려한다.
부모가 다시 렌더링될 때 마다, 새 객체나 배열을 생성하면 개별 요소가 각각 동일하더라도 React는 변경된 것으로 간주한다.
얕은비교
기본 타입 데이터의 경우 값이 동일한지만 비교하고, 객체의 경우 참조값만 비교한다.
=> 그래서 객체를 state로 사용하게 될 경우, 값이 같더라도 참조값이 다르기 때문에 재렌더링이 발생한다.
const obj1 = { a: 1, b: 2 };
const obj2 = { a: 1, b: 2 };
console.log(obj1 === obj2); // false
728x90
반응형
'🌳Frontend > react' 카테고리의 다른 글
Next.js 환경변수 (0) | 2023.05.18 |
---|---|
MUI 설치 (0) | 2023.05.18 |
[React] 렌더링과 컴포넌트 렌더링 순서 (0) | 2023.04.20 |
Stop Using useMemo Now (0) | 2023.04.18 |
React.memo vs useMemo vs useEffect (0) | 2023.03.24 |