[문서] 리액트 공식문서 톱아보기: 컴포넌트 import 및 export

2024. 11. 16. 23:17·기술/React.js

1. 컴포넌트 import 및 export

 JavaScript의 import, export 문법을 사용하여 컴포넌트를 다른 파일에서도 불러와 사용할 수 있다.

컴포넌트의 가장 큰 장점 = 재사용성

 

리액트는 한번 만든 컴포넌트를 조합해 어디서든 쓸 수 있다.

// Button.jsx
export default function Button({ label }) {
  return <button>{label}</button>;
}

이렇게 만든 버튼 컴포넌트를 다른 컴포넌트 안에 넣어 조합해 새로운 컴포넌트를 만들 수 있다.

// App.jsx
import Button from './Button';

export default function App() {
  return (
    <div>
      <h1>메인 페이지</h1>
      <Button label="클릭!" />
    </div>
  );
}

 

다른 파일에서 모듈(컴포넌트)를 가져올때 import/export 문법을 사용한다.

2. Default와 Named Exports의 차이는?

출처: https://ko.react.dev/learn/importing-and-exporting-components 리액트공식문서

1. 기본 내보내기 (export default)

  • 파일당 하나의 컴포넌트를 주로 기본으로 내보냄
  • 가져올 때 이름은 마음대로 정해도 됨
export default function Header() {}

import Header from './Header'; //정석으로 하면 이렇게 가져오지만
import 내맘대로 from './Header'; //어차피 하나의 파일을 가져오기때매 이름은 맘대로 설정 가능

2. 이름 기반 내보내기 (export)

  • 여러 개의 컴포넌트를 한 파일에서 내보낼 때 사용
  • 불러올 때 반드시 같은 이름을 써야 함
export function Header() {}
export function Footer() {}

import { Header, Footer } from './Layout'; //명명한 이름 그대로 가져와야함

 

보통 하나의 파일에서 컴포넌트 하나만 내보낼 땐 default export를 쓰고

반대로 여러 개를 한 파일에서 내보낼 땐 named export를 쓴다.

 

export default () => {} 처럼 이름 없는 컴포넌트는 나중에 디버깅하기 어려우니 비추!

 

저작자표시 비영리 변경금지 (새창열림)

'기술 > React.js' 카테고리의 다른 글

리액트의 특징에 대해 알아보자  (2) 2025.06.18
[문서] 리액트 공식문서 톱아보기: 컴포넌트를 순수하게 유지하자  (1) 2025.05.06
[문서] 리액트 공식문서 톱아보기: 리액트에서 key가 중요한 이유는?  (5) 2024.11.06
[문서] 리액트 공식문서 톱아보기: 컴포넌트  (0) 2024.10.28
[문서] 리액트 공식문서 톱아보기: 기본 문법(빠른 시작 가이드)  (1) 2024.10.27
'기술/React.js' 카테고리의 다른 글
  • 리액트의 특징에 대해 알아보자
  • [문서] 리액트 공식문서 톱아보기: 컴포넌트를 순수하게 유지하자
  • [문서] 리액트 공식문서 톱아보기: 리액트에서 key가 중요한 이유는?
  • [문서] 리액트 공식문서 톱아보기: 컴포넌트
_도은
_도은
알수없음
  • _도은
    bimnemo("개발")
    _도은
  • 전체
    오늘
    어제
    • 기록 (167)
      • 기술 (51)
        • JavaScript (8)
        • TypeScript (9)
        • React.js (14)
        • Next.js (0)
        • 라이브러리,도구 (5)
        • HTML,CSS (4)
        • CS (5)
        • BE (4)
        • 테스트 (2)
      • 개발 (100)
        • 프로젝트 (0)
        • 트러블슈팅 (5)
        • 알고리즘(코딩테스트) (95)
      • 정보 (4)
      • 취미 (10)
        • 독서기록 (10)
      • 회고 (2)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
_도은
[문서] 리액트 공식문서 톱아보기: 컴포넌트 import 및 export
상단으로

티스토리툴바