리액트가 필요한 이유
1. 산탄총 수술(Shotgun Surgery)
: 여러 파일에 걸쳐 중복 코드들(ex. header, footer 등)이 작성된 프로그램에서 그 중복 코드 내에 수정이 생기면 그 코드를 포함하고 있는 많은 파일에 이를 일일이 수정 적해줘야 하는 문제가 생김.
=> 각 페이지에 공통적으로 적용될 부분들은 별도의 파일이나 모듈로 제작 ; 컴포넌트(Component)화 방식
리액트는 컴포넌트 기반의 UI 라이브러리
2. 선언형 프로그래밍
: 예전에 주로 사용하던 제이쿼리(jQuery)는 절차를 하나하나 다 나열해야하는 명령형 프로그래밍 방식의 설계이다.
절차 대신 목적을 먼저 말하는 선언형 프로그래밍 방식의 설계의 리액트가 프론트엔드 측면 개발에서는 더욱 효율적이다.
3. 가상 돔(Virtual DOM)
cf. DOM(Document Object Model) : 브라우저가 HTML을 자신이 해석하기 편하도록 트리구조로 만들어 놓은 객체.
: 돔의 변화를 실시간으로 업데이트하다보면 성능적으로 부담이 되거나 효율적이지 못할 수 있으므로,
변화를 한 번에 모아 (batch update) 가상돔에 업데이트한 뒤, 실제 돔에 리렌더링시킴 !
cf. 버퍼로도 구현이 가능하나, 고수준의 JS나 CS 지식을 요구한다.
'KDT TIL Note > React' 카테고리의 다른 글
[StephenGrider 강의] 모던 리액트와 리덕스 - 개발환경 설정 (0) | 2023.02.03 |
---|---|
[winterlood 강의] React App 만들기 note (0) | 2023.01.20 |
[KDT 강의] 리액트 뜯어보며 이해하기 2 (0) | 2023.01.13 |
[KDT 강의] 리액트 뜯어보며 이해하기 (0) | 2023.01.06 |
[KDT 리액트] 리액트란? 1 (0) | 2022.12.30 |