Notice
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
관리 메뉴

Jade_o.o

[React] React 란? React 특징 본문

React

[React] React 란? React 특징

by jade 2024. 3. 15. 14:31
React

• https://react.dev/

 

React

React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizati

react.dev

• The library for web and native user interfaces

 

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

 

 

React의 특징
1. Data Flow
2. Component 기반 구조
3. Virtual Dom
4. Props and State
5. JSX

 

특징 1. Data Flow
• 양방향 X 단방향 O 데이터 흐름
• Angular JS 처럼 양방향 데이터 바인딩은 규모가 커질수록 데이터의 흐 름을 추적하기 힘들고 복잡해지는 경향이 있다
특징 2. Component 기반 구조
• Component : 독립적인 단위의 소프트웨어 모듈로 소프트웨어를 독립적 인 하나의 부품으로 만드는 방법
• React는 UI(View)를 여러 Component를 쪼개서 만든다
• 한 페이지 내에서 여러 부분을 Component로 만들고 이를 조립해 화면 을 구성
1. Component 단위로 쪼개져 있기 때문에, 전체 코드를 파악하기 쉽다.
2. 기능 단위, UI 단위로 캡슐화시켜 코드를 관리하기 때문에 재사용성이 높다.
3. 코드를 반복할 필요 없이 Component만 import 해서 사용하면 된다 는 간편함이 있다.
4. 애플리케이션이 복잡해지더라도 코드의 유지보수, 관리가 용이하다.
• Header, Footer 같은 구조를 컴포넌트로 제작
• 컴포넌트를 조합해 Root Component (최 상위 컴포넌트) 로 만듦

 

특징 3. Virtual DOM
• DOM : Document Object Model ( 문서 객체 모델 )
• React는 DOM Tree 구조와 같은 구조를 Virtual DOM 으로 가지고 있다.
• 이벤트가 발생할 때마다 Virtual DOM을 만들고 다시 그 릴 때 실제와 전후 상태를 계속 비교
   -> 앱의 효율성과 속도 개선

 

특징 4. Props and State
• Props
=> 부모 컴포넌트에서 자식 컴포넌트로 전달해주는 데이터
=> 자식에서는 props 변경 불가능, props를 전달한 최상위에서만 변경 가능

• State
=> 컴포넌트 내부에서 선언되고 내부에서 값을 변경
=>  클래스형 컴포넌트에서만 사용 가능, 각각의 state는 독립적 (함수형 컴포넌트에서는 NO!

 

특징 5. JSX
• React 에서 JSX 사용이 필수는 아니지만 편의성을 위해 대부분의 프로 젝트에서 JSX를 사용
• JSX = Javascript + XML
• JavaScript를 확장한 문법으로 React Element를 생성

 

'React' 카테고리의 다른 글

[React] JSX 문법 (인라인 스타일 적용, js 문법 사용)  (0) 2024.03.15
[React] JSX 문법 규칙  (0) 2024.03.15
[React] React 프로젝트 생성  (0) 2024.03.15
[React] Node.js & NPM  (0) 2024.03.15
[React] React, ANGULAR JS, Vue.js  (0) 2024.03.15