본문 바로가기
KDT TIL Note/React

[winterlood 강의] 리액트가 필요한 이유

by 메리뉴데이 2023. 1. 16.

리액트가 필요한 이유

 

1. 산탄총 수술(Shotgun Surgery)

: 여러 파일에 걸쳐 중복 코드들(ex. header, footer 등)이 작성된 프로그램에서 그 중복 코드 내에 수정이 생기면 그 코드를 포함하고 있는 많은 파일에 이를 일일이 수정 적해줘야 하는 문제가 생김.

=> 각 페이지에 공통적으로 적용될 부분들은 별도의 파일이나 모듈로 제작 ; 컴포넌트(Component)화 방식

     

리액트는 컴포넌트 기반의 UI 라이브러리

 

 

 

 

2. 선언형 프로그래밍

: 예전에 주로 사용하던 제이쿼리(jQuery)는 절차를 하나하나 다 나열해야하는 명령형 프로그래밍 방식의 설계이다.

절차 대신 목적을 먼저 말하는 선언형 프로그래밍 방식의 설계의 리액트가 프론트엔드 측면 개발에서는 더욱 효율적이다.

 

 

 

 

 

3. 가상 돔(Virtual DOM)

cf. DOM(Document Object Model) : 브라우저가 HTML을 자신이 해석하기 편하도록 트리구조로 만들어 놓은 객체.

 

: 돔의 변화를 실시간으로 업데이트하다보면 성능적으로 부담이 되거나 효율적이지 못할 수 있으므로, 

변화를 한 번에 모아 (batch update) 가상돔에 업데이트한 뒤, 실제 돔에 리렌더링시킴 !

 

 

 

cf. 버퍼로도 구현이 가능하나, 고수준의 JS나 CS 지식을 요구한다.