All'alba vincerò

At dawn, I will win!

React/한입 리액트

컴포넌트 (Component)

나디아 Nadia 2024. 3. 16. 21:31

 

 

React 컴포넌트 (Component)

 

 

 

컴포넌트 (Component) 

: html 태그들을 반환하는 함수

  • 보통 함수 이름을 따서 부름
    (ex. function App( ... ) 👉 App 컴포넌트
  • 컴포넌트 함수명은 반드시 첫 글자가 대문자여야 함

 

함수 표현식

function Header() {
  return (
    <header>
      <h1>Header</h1>
    </header>
  )
}

 

 

화살표 함수

const Header = () => {
  return (
    <header>
      <h1>Header</h1>
    </header>
  )
}

 

 

 

 

 

 

컴포넌트 계층 구조

  • 컴포넌트는 계층 구조로 나타난다.

 

루트(root) 컴포넌트

: 모든 컴포넌트의 조상 역할을 하는 컴포넌트 

  • 원하는 대로 변경 가능하지만 보통은 App을 루트 컴포넌트로 둠

 

 

부모 컴포넌트

: 다른 컴포넌트의 호출을 품은 컴포넌트

 

 

 

자식 컴포넌트

다른 컴포넌트의 return문 내부에 포함되는 컴포넌트

function App() { // 부모 컴포넌트
  return (
    <>
    <Header/> <!--자식 컴포넌트 -->
    <h1>안녕!</h1>
    </>
  )
}

 

 

 

 

생성한 컴포넌트는 App 컴포넌트의 자식 컴포넌트로 호출해야 화면에 보인다.

이유 👉 main.jsx에서 App 컴포넌트를 root로 랜더링하도록 했기 때문

 

 

 

 

 

 

 

컴포넌트 파일화 하기

  • 보통 모듈화를 위해 컴포넌트들을 각각 파일화한다.

 

1. 파일에 컴포넌트 작성하기

  • 확장자 .jsx

 

2. 값 내보내기

export default 컴포넌트명;

 

3. 값 불러오기

import 컴포넌트명 from './파일명.jsx'

 

4. 부모 컴포넌트 안에서 호출하기

<컴포넌트명/>

// App.jsx
import Header from './components/Header'

function App() {

  return (
    <>
    <Header/>
    </>
  )
}

// Header.jsx
function Header() {
    return (
        <header>
            <h1>Header</h1>
        </header>
    )
}

export default Header;

 

 

 


 

 

출처

한입 크기로 잘라먹는 리액트

 

 

컴포넌트 제대로 만들기

이 포스트는 지난 5월 27일 “React 사용자를 위한 리액트 부트캠프“의 5일차 강의 때 사용한 발표자료와 스크립트를 글로 옮긴 것입니다. 스크립트를 거의 그대로 옮겼기 때문에 군데군데 구어

hyunseob.github.io