anott
기록
anott
  • 분류 전체보기
    • 오라클
    • SQL
    • 알고리즘
      • 백준저지
      • 프로그래머스
      • SWEA
    • 개발 관련
    • 프론트엔드
      • TypeScript, Next.js
      • React 공식문서 읽기
hELLO · Designed By 정상우.
anott

기록

프론트엔드/React 공식문서 읽기

합성 (Composition) vs 상속 (Inheritance)

2022. 6. 4. 18:12
https://ko.reactjs.org/docs/composition-vs-inheritance.html를 읽고 정리한 글입니다

 

  • 합성 (Composition)
    • 리액트에서는 상속 대신 합성을 사용하여 컴포넌트 간 코드를 재사용하는 것을 권장
// 예시 코드
function Dialog(props) {
  return (
    <FancyBorder color="blue">
      <h1 className="Dialog-title">
        {props.title}
      </h1>
      <p className="Dialog-message">
        {props.message}
      </p>
    </FancyBorder>
  );
}

function WelcomeDialog() {
  return (
    <Dialog
      title="Welcome"
      message="Thank you for visiting our spacecraft!" />
  );
}
  • 상속 (Inheritance)
    • 컴포넌트를 상속 계층 구조로 작성할만한 사례는 아직 없다
  • 컴포넌트는 원시 타입의 값, React element, 함수 등 어떤 props도 받을 수 있다
  • 기능을 여러 컴포넌트에서 재사용하려면 별도의 JS 모듈로 분리하기 ⇒ 상속 없이 해당 컴포넌트에서 import를 통해 해당 함수, 객체, 클래스 등을 사용 할 수 있다

 

 

 

저작자표시 비영리 (새창열림)

'프론트엔드 > React 공식문서 읽기' 카테고리의 다른 글

접근성  (0) 2022.06.16
React로 사고하기  (0) 2022.06.05
State 끌어올리기  (0) 2022.06.03
폼  (0) 2022.06.02
리스트와 Key  (0) 2022.05.30
    '프론트엔드/React 공식문서 읽기' 카테고리의 다른 글
    • 접근성
    • React로 사고하기
    • State 끌어올리기
    • 폼
    anott
    anott

    티스토리툴바