국비지원 공부 정리/React

React 란?

worldstroy 2025. 3. 30. 10:29

React란?

• 화면을 만들기 위한 자바스크립트 라이브러리
• 현재 프론트엔드 개발 환경에서 가장 많이 활용되고 있는 라이브러리
• 사용자와 상호 작용이 가능한 동적 UI 제작 가능

 

React의 특징 4가지

특징 종류 의미
Data Flow • 양방향 X 단방향 O 데이터 흐름
• Angular JS 처럼 양방향 데이터 바인딩은 규모가 커질수록 데이터의 흐 름을 추적하기 힘들고 복잡해지는 경향이 있다.
Component 기반 구조


• Component : 독립적인 단위의 소프트웨어 모듈로 소프트웨어를 독립적 인 하나의 부품으로 만드는 방법
• React는 UI(View)를 여러 Component를 쪼개서 만들기에 코드 파악이 쉽다.
• 한 페이지 내에서 여러 부분을 Component로 만들고 이를 조립해 화면을 구성하기에 재사용성이 높다.
• 코드를 반복할 필요 없이 Component만 import 하면 되기에 간편하고, 애플리케이션이 복잡해져도 코드의 유지보수, 관리가 용이하다.
Virtual DOM


• DOM : Document Object Model ( 문서 객체 모델 )
• React는 DOM Tree 구조와 같은 구조를 Virtual DOM 으로 가지고 있다.
• 이벤트가 발생할 때마다 Virtual DOM을 만들고 다시 그릴 때 실제와 전후 상태를 계속 비교 ->앱의 효율성과 속도 개 선
Props and State ### Props
• 부모 컴포넌트에서 자식 컴포넌트로 전달해주는 데이터
• 자식에서는 props 변경 불가능, props를 전달한 최상위에서만 변경 가능
### State
• 컴포넌트 내부에서 선언되고 내부에서 값을 변경
• 함수형, 클래스형 컴포넌트에서 사용 가능, 각각의 state는 독립적
JSX • React 에서 JSX 사용이 필수는 아니지만 편의성을 위해 대부분의 프로젝 트에서 JSX를 사용
• JSX = Javascript + XML
• JavaScript를 확장한 문법으로 React Element를 생성

 


Node.js & NPM

• Node.js는 React를 사용하기 쉽게 하는 도구를 내장하고 있음
• Node.js와 함께 설치되는 NPM(Node Package Manager)를 이용하 면프론트엔드 프로젝트를위한 다양한 패키지를 쉽게 설치하고 관리 가능
• 리액트도 하나의 패키지!
• 자바스크립트 런타임인 Node.js 기반으로 만들어진 Webpack과 Babel 같은 도구을 자주 사용

 

 

Babel

 

• 옛날에는 큰 기능을 하지 않는 자바스크립트 컴파일러(해석기)였지만 리 액트에서는 중요한 역할
• 최신JavaScript 문법을 이전 버전의 JavaScript 문법으로 변환해주어 다양한 브라우저에서 호환성에 문제 없이 코드를 실행할 수 있음 

 

Webpack

 

• 자바스크립트 모듈 번들러 (Module Bundler)
• 여러 개의 파일과 모듈을 하나의 파일로 합쳐줌
• 코드 변경사항 발생 시 바로 반영되는 기능

 

 

 

'국비지원 공부 정리 > React' 카테고리의 다른 글

props란?  (0) 2025.03.30
JSX  (0) 2025.03.30
Component란?  (0) 2025.03.30
React 앱을 구성하는 방법 - create-react-app  (0) 2025.03.30
JavaScript 프레임워크 - 3대장  (0) 2025.03.30