개발 문서/React

React 기본 개념과 JSX

copg 2023. 11. 15. 23:30
728x90
반응형

물론입니다! React는 페이스북에서 개발한 JavaScript 라이브러리로, 사용자 인터페이스를 만들기 위한 선언적이고 효율적인 방법을 제공합니다. React의 기본 개념과 JSX(JavaScript XML)에 대해 자세히 알아봅시다.

React 기본 개념:

  1. 컴포넌트(Component):

    • React 앱은 작고 독립적인 컴포넌트로 이루어져 있습니다. 컴포넌트는 UI의 일부를 나타내며, 재사용 가능하고 독립적으로 동작합니다.
  2. 가상 DOM(Virtual DOM):

    • React는 가상 DOM을 사용하여 효율적으로 렌더링을 처리합니다. 실제 DOM을 직접 조작하는 대신, 가상 DOM을 업데이트하고 실제 DOM에 필요한 최소한의 변경만을 반영합니다.
  3. JSX(JavaScript XML):

    • JSX는 JavaScript의 확장 문법으로, React 엘리먼트를 작성할 때 사용됩니다. HTML과 유사하지만 JavaScript 코드로 작성할 수 있어 컴포넌트에서 UI를 선언적으로 표현할 수 있습니다.
  4. 단방향 데이터 바인딩:

    • 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;

주요 특징:

  1. 태그와 컴포넌트:

    • HTML 태그와 유사하게 보이지만, React에서는 컴포넌트로 간주됩니다. 위의 예제에서는 <div>, <h1>, <p>가 React 컴포넌트입니다.
  2. JavaScript 표현식 삽입:

    • 중괄호 {}를 사용하여 JavaScript 표현식을 삽입할 수 있습니다. 예를 들어, {2 + 2}와 같은 식을 사용할 수 있습니다.
  3. 속성과 이벤트 처리:

    • JSX에서는 HTML과 마찬가지로 속성을 사용할 수 있으며, 이벤트 처리도 가능합니다. {} 안에 JavaScript 코드를 사용하여 동적으로 값을 할당할 수 있습니다.
  4. 클래스 이름 설정:

    • HTML의 class 속성 대신, JSX에서는 className 속성을 사용합니다.

JSX를 사용하면 UI를 선언적으로 표현할 수 있으며, React는 이를 가상 DOM을 통해 실제 DOM으로 효율적으로 변환하여 렌더링합니다.