티스토리 뷰

React는 강력한 합성 모델을 가지고 있고, 상속 대신 합성을 사용하여 컴포넌트 간 코드를 재사용할 수 있다.

컴포넌트에서 다른 컴포넌트를 담을 수 있다.

어떤 컴포넌트들은 어떤 자식 element가 들어올 지 미리 예상할 수 없는 경우가 있다.

이러한 경우 child prop을 사용하여 자식 element를 출력에 그대로 전달하는 것이 좋다.

interface Props{
    children : React.ReactNode;
}
function Wrapper({children} : Props) {
  return (
    <div>
      {children}
    </div>
  );
}

이러한 방식으로 다른 컴포넌트에 JSX를 중첩하여 임의의 자식을 전달할 수 있다.

function Components1() {
  return (
    <Components2>
      <h1>
        내용1
      </h1>
      <p>
        내용2
      </p>
    </Components2>
  );
}

컴포넌트에서 다르게 element child를 적용해야 될 경우도 있다.

function Side(props) {
  return (
    <div className="Both">
      <div className="left">
        {props.left}
      </div>
      <div className="right">
        {props.right}
      </div>
    </div>
  );
}

function App() {
  return (
    <Side
      left={
        <Contacts />
      }
      right={
        <Chat />
      } />
  );
}

 

참고 : ko.reactjs.org/docs/composition-vs-inheritance.html

 

합성 (Composition) vs 상속 (Inheritance) – React

A JavaScript library for building user interfaces

ko.reactjs.org

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함