언어 및 도구들 공부/React

리엑트와 JS

Dr.Mlem 2024. 11. 16. 18:12

Q.

리엑트는 js의 한 종류인거야?

 

 

 

A.

아니요, **React(리액트)**는 JavaScript의 한 종류가 아닙니다. React는 JavaScript 라이브러리입니다. JavaScript 언어를 기반으로 만들어졌으며, 특히 **사용자 인터페이스(UI)**를 구축하는 데 중점을 둔 라이브러리입니다.


1. React란 무엇인가?

  • React는 Facebook(현재 Meta)이 개발한 오픈소스 JavaScript 라이브러리입니다.
  • 주로 **단일 페이지 애플리케이션(SPA)**에서 컴포넌트 기반으로 UI를 효율적으로 만들기 위해 사용됩니다.
  • React의 핵심은 UI 구성 요소를 선언적으로 작성하고, 애플리케이션의 상태에 따라 UI를 자동으로 업데이트하는 기능입니다.

2. JavaScript와 React의 관계

  • React는 JavaScript로 작성되었으며, JavaScript를 확장하고 도와주는 도구입니다.
  • React를 사용하려면 JavaScript에 대한 기본적인 이해가 필요합니다.
  • JavaScript를 사용하여 React 컴포넌트와 애플리케이션 로직을 작성합니다.

3. React의 특징

(1) 컴포넌트 기반

  • React 애플리케이션은 여러 작은 컴포넌트로 나뉘며, 각 컴포넌트는 독립적으로 동작하고 UI의 특정 부분을 담당합니다.
  • 예:
function HelloWorld() {
  return <h1>Hello, World!</h1>;
}

(2) 선언적 UI

  • React에서는 UI를 상태에 따라 자동으로 업데이트합니다.
  • 예: 상태 변화에 따라 화면을 다시 그릴 필요 없이 React가 알아서 DOM을 업데이트합니다.
function App() {
  const [count, setCount] = React.useState(0);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
  );
}

(3) 가상 DOM(Virtual DOM)

  • React는 가상 DOM이라는 개념을 사용하여 성능을 최적화합니다.
  • 변경 사항이 발생하면 가상 DOM에서 변경된 부분만 실제 DOM에 반영하여 속도를 높입니다.

(4) JSX

  • React에서는 JavaScript와 HTML을 결합한 JSX(JavaScript XML) 문법을 사용합니다.
  • JSX는 JavaScript로 변환되므로 브라우저가 실행할 수 있습니다.
const element = <h1>Hello, World!</h1>;

 


4. React는 JavaScript와 어떻게 다른가?

특징                         JavaScript                                                                        React

정의 프로그래밍 언어 JavaScript 기반 UI 라이브러리
역할 웹 브라우저에서 로직 처리 및 동작 구현 UI 구성 요소 작성 및 관리
사용 목적 다양한 목적의 프로그래밍 UI를 선언적으로 구성
필요한 기술 기본 JavaScript 문법 JavaScript + JSX

 


5. React는 프레임워크인가?

아니요, React는 프레임워크가 아니라 라이브러리입니다.

  • React는 오로지 **뷰(View)**를 만드는 데 중점을 둡니다.
  • 라우팅, 상태 관리, HTTP 요청 처리 같은 기능은 추가 도구나 라이브러리(Redux, React Router 등)를 사용해야 합니다.
  • 프레임워크(예: Angular, Vue.js)는 더 많은 기능(상태 관리, 라우팅 등)을 내장하고 있어 React와 차별화됩니다.

6. React를 사용하는 이유

  • React는 재사용 가능한 컴포넌트를 쉽게 만들 수 있어 유지보수와 확장성이 뛰어납니다.
  • 상태 변화에 따른 UI 업데이트를 간편하게 관리할 수 있습니다.
  • 대규모 커뮤니티와 풍부한 생태계를 보유하고 있어 다양한 플러그인과 도구를 활용할 수 있습니다.

요약

React는 JavaScript의 확장 라이브러리로, UI를 효율적이고 선언적으로 구축하는 데 사용됩니다. React는 JavaScript의 일부가 아니라 JavaScript를 활용하는 도구입니다. JavaScript와 함께 사용하여 강력한 웹 애플리케이션을 개발할 수 있습니다.

추가적인 질문이 있으면 언제든지 물어보세요! 😊