개발 문서/React
React 기본 개념과 JSX
copg
2023. 11. 15. 23:30
728x90
반응형
물론입니다! React는 페이스북에서 개발한 JavaScript 라이브러리로, 사용자 인터페이스를 만들기 위한 선언적이고 효율적인 방법을 제공합니다. React의 기본 개념과 JSX(JavaScript XML)에 대해 자세히 알아봅시다.
React 기본 개념:
컴포넌트(Component):
- React 앱은 작고 독립적인 컴포넌트로 이루어져 있습니다. 컴포넌트는 UI의 일부를 나타내며, 재사용 가능하고 독립적으로 동작합니다.
가상 DOM(Virtual DOM):
- React는 가상 DOM을 사용하여 효율적으로 렌더링을 처리합니다. 실제 DOM을 직접 조작하는 대신, 가상 DOM을 업데이트하고 실제 DOM에 필요한 최소한의 변경만을 반영합니다.
JSX(JavaScript XML):
- JSX는 JavaScript의 확장 문법으로, React 엘리먼트를 작성할 때 사용됩니다. HTML과 유사하지만 JavaScript 코드로 작성할 수 있어 컴포넌트에서 UI를 선언적으로 표현할 수 있습니다.
단방향 데이터 바인딩:
- React에서 데이터는 상위 컴포넌트에서 하위 컴포넌트로 한 방향으로만 흐릅니다. 부모 컴포넌트의 상태나 프롭스가 변경되면 자식 컴포넌트가 리렌더링됩니다.
JSX(JavaScript XML):
JSX는 React에서 UI를 작성할 때 사용되는 문법으로, JavaScript를 확장한 문법입니다. JSX는 HTML과 유사하지만 몇 가지 주요 차이점이 있습니다.
import React from 'react';
const MyComponent = () => {
// JSX를 사용하여 React 엘리먼트를 작성
return (
<div>
<h1>Hello, React!</h1>
<p>This is a JSX example.</p>
</div>
);
};
export default MyComponent;
주요 특징:
태그와 컴포넌트:
- HTML 태그와 유사하게 보이지만, React에서는 컴포넌트로 간주됩니다. 위의 예제에서는
<div>
,<h1>
,<p>
가 React 컴포넌트입니다.
- HTML 태그와 유사하게 보이지만, React에서는 컴포넌트로 간주됩니다. 위의 예제에서는
JavaScript 표현식 삽입:
- 중괄호
{}
를 사용하여 JavaScript 표현식을 삽입할 수 있습니다. 예를 들어,{2 + 2}
와 같은 식을 사용할 수 있습니다.
- 중괄호
속성과 이벤트 처리:
- JSX에서는 HTML과 마찬가지로 속성을 사용할 수 있으며, 이벤트 처리도 가능합니다.
{}
안에 JavaScript 코드를 사용하여 동적으로 값을 할당할 수 있습니다.
- JSX에서는 HTML과 마찬가지로 속성을 사용할 수 있으며, 이벤트 처리도 가능합니다.
클래스 이름 설정:
- HTML의
class
속성 대신, JSX에서는className
속성을 사용합니다.
- HTML의
JSX를 사용하면 UI를 선언적으로 표현할 수 있으며, React는 이를 가상 DOM을 통해 실제 DOM으로 효율적으로 변환하여 렌더링합니다.