Front-end
React에서의 css inline 성능 이슈
Jasper_Dev
2022. 3. 10. 23:42
react에서는 화면이 그려지느 ㄴ성능을 빠르게 하기 위해, 브라우저 Memory에 Tree 구조로 이루어진 Virtual DOM을 저장하고 있음.
Virtual DOM과 변경될 Virtual DOM을 비교하여 바뀐 최소 부분만을 실제 DOM 에 반영하여 렌더링 과정을 최소화한다.
css inline 방식을 사용한 경우
<Button style={{marginTop: 10}}
사용시 Virtual DOM 비교에서는 style이 기존 Virtual DOM과 다르다고 인식한다.
왜냐하면 JS에서 객체끼리의 비교는 false가 나오기 때문이다.
이와 비슷한 사항으로 Inline Function도 동일한 문제를 일으킬 수 있다.(useCallback을 이용하여 해결)