패스트캠퍼스 챌린지 43일차 - 한 번에 끝내는 React의 모든 것 초격차 패키지 Online

2022. 3. 7. 08:25공부/패스트캠퍼스

수강 인증샷


패스트캠퍼스 챌린지란?

 패스트캠퍼스에서 진행하는 '50일 공부 루틴 챌린지' 행사로 50일 동안 매일 수강 인증샷과 함께 학습 기록을 게시글로 남기는 행사다.


43일차

 43일차에는 Part 1. React 기초 Ch 03. React 공식 문서로 디테일잡기(고급) 챕터에서 15. Reconcilation 강의 내용에 대해 기록하려 한다.

 Part 1. React 기초 Ch 03. React 공식 문서로 디테일잡기(고급) 챕터에서 15. Reconcilation 강의에서는 강의 제목 그대로 Reconcilation이라는 개념에 대해 공부한다. React는 선언적 API를 제공하기 때문에 갱신이 될 때마다 매번 무엇이 바뀌었는지를 걱정할 필요가 없다. 이를 통해 애플리케이션 작성을 매우 쉽게 만들어주지만, React 내부에서 어떤 일이 일어나고 있는지는 명확하게 눈으로 볼 수는 없다. 여기서 React는 자신만의 비교 알고리즘을 내세워 이 알고리즘 덕분에 컴포넌트의 갱신이 예측 가능해지면서도 고성능 앱이라고 불러도 손색없을 만큼 충분히 빠른 앱을 만들 수 있다는 것이 Reconcilation이다. 하나의 트리를 가지고 다른 트리를 비교하기 위한 최소한의 연산 수를 구하는 최첨단의 알고리즘도 n개의 엘리먼트가 있는 트리에 대해 O(n^3)의 복잡도를 가지는데, React는 두 가지 가정을 내세워 이 복잡도를 O(n)으로 낮췄다. 첫 번째, 서로 다른 타입의 두 엘리먼트는 서로 다른 트리를 만들어낸다. 두 번째, 개발자가 key prop을 통해, 여러 렌더링 사이에서 어떤 자식 엘리먼트가 변경되지 않아야 할지 표시해 줄 수 있다. 이러한 두 가지 가정을 통해 고성능 앱을 만들어낼 수 있었다. 


본 게시글은 이벤트 참여를 위해 작성된 게시글입니다.

 


패스트캠퍼스 공식 홈페이지 : https://bit.ly/37BpXiC