클래스형 컴포넌트와 함수형 컴포넌트의 차이

oversleep·2025년 1월 28일
post-thumbnail

React에서 컴포넌트를 생성하는 방법은 크게 두 가지

  1. 클래스 컴포넌트(Class Components):
    • 클래스 컴포넌트는 React.Component 클래스를 확장하여 만듬.
    • render() 메서드를 구현하여 해당 컴포넌트가 어떻게 렌더링될지 정의함.
    • 다양한 라이프사이클 메서드를 사용하여 컴포넌트의 동작을 제어할 수 있음.
    • 상태(State)를 관리할 수 있으며, setState() 메서드를 사용하여 상태를 업데이트할 수 있음.
import React, { Component } from 'react';

class MyComponent extends Component {
  render() {
    return (
      <div>
        <h1>Hello, world!</h1>
      </div>
    );
  }
}

export default MyComponent;
  1. 함수 컴포넌트(Function Components):
    • 함수 컴포넌트는 간단한 JavaScript 함수로 정의됨.
    • 함수 내에서 JSX를 반환하여 해당 컴포넌트가 렌더링될 내용을 정의함.
    • 상태(State)를 관리할 수 없으며, 생명주기 메서드를 사용할 수 없었음.
    • React 16.8 버전부터는 함수 컴포넌트에서도 상태를 관리할 수 있도록 useState 훅과 같은 기능이 도입됨.
import React from 'react';

function MyComponent() {
  return (
    <div>
      <h1>Hello, world!</h1>
    </div>
  );
}

export default MyComponent;

요약:

클래스 컴포넌트는 React.Component 클래스를 확장하여 생성됨.
render() 메서드를 통해 UI를 정의함.
상태(State)와 라이프사이클 메서드를 활용할 수 있음.

함수 컴포넌트는 간단한 JavaScript 함수로 정의되며, JSX를 반환하여 UI를 정의함.

useState, useEffect 등 훅을 사용하여 상태 관리와 클래스 컴포넌트의 라이프사이클 메서드와 비슷한 동작을 수행할 수 있음.

profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글