[react] component 컴포넌트란?

2022. 3. 16. 23:55Study/React+Next

 

 

컴포넌트란?

사전적 의미로는 구성 요소를 뜻한다.

이러한 의미 그대로 컴포넌트란 UI를 구성하는 개별적인 요소로써, 

이것들을 조합하여 프로그래밍 할 수 있다.

 

 

 

컴포넌트를 사용하게 되면 여러가지 장점이 있다

 

1. 긴 html 태그들을 한 줄로 깔끔하게 치환할 수 있다.

 

//Before

function App() {
  return (
    <>
      <header>
        <h1>Logo</h1>
          <nav>
            <ul> 
              <li>About</li>
              <li>Work</li>
              <li>Contact</li>
            </ul>
          </nav>
      </header>
      
      <div>
        <article>
          <h1>title</h1>
          <h2>contents</h2>
        </article>
      </div>
      
      <footer>
        <div>
          <div>Logo</div>
          <ul> 
            <li>About</li>
            <li>Work</li>
            <li>Contact</li>
          </ul>
        </div>
        <div>
          <p>contact me</p>
          <p>010-1234-5678</p>
          <p>dev-ee.tistory.com</p>
          <p>ⓒ2022. dev-ee all rights reserved</p>
        </div>
      </footer>
    </>
  );
};

 

//After

function App() {
  return (
    <>
      <Header></Header>
      
      <div>
        <article>
          <h1>title</h1>
          <h2>contents</h2>
        </article>
      </div>
      
      <Footer></Footer>
    </>
  );
};

 

 

 

2. 각각 나눠져 있어 관리가 용이하다.

 

//src/ccomponents/Header.js

function Header() {
  return (
      <header>
        <h1>Logo</h1>
          <nav>
            <ul> 
              <li>About</li>
              <li>Work</li>
              <li>Contact</li>
            </ul>
          </nav>
      </header>
  );
};

export default Header;

 

//src/components/Footer.js

function Footer() {
  return (
      <footer>
        <div>
          <div>Logo</div>
          <ul> 
            <li>About</li>
            <li>Work</li>
            <li>Contact</li>
          </ul>
        </div>
        <div>
          <p>contact me</p>
          <p>010-1234-5678</p>
          <p>dev-ee.tistory.com</p>
          <p>ⓒ2022. dev-ee all rights reserved</p>
        </div>
      </footer>
    </>
  );
};

export default Footer;

 

 

3. 재사용이 가능하여 범용성이 좋다.

 

 

 

 

사용방법

  • src에 component폴더를 생성한다.
  • component폴더 하위에 컴포넌트 파일들을 생성한다.
  • 컴포넌트 파일 하단에 export 해준다. (ex. export default 컴포넌트명;)
  • 컴포넌트들을 가져다 쓸 App.js 상단에 import한다.  
  • 컴포넌트를 넣고 싶은 위치에 컴포넌트명을 작성해준다. 이 때 컴포넌트명은 대문자로 시작한다

 

//src/App.js

import Header from './component/Header'; 
import Footer from './component/Footer';

function App() {
  return (
    <>
      <Header></Header>
      
      <div>
        <article>
          <h1>title</h1>
          <h2>contents</h2>
        </article>
      </div>
      
      <Footer></Footer>
    </>
  );
};

 

 

 

'Study > React+Next' 카테고리의 다른 글

[Next] next-auth 사용기  (0) 2024.02.13
[react] react 기초  (0) 2022.04.11
[react] react-router-dom  (0) 2022.03.07
[react] State와 Hook  (0) 2022.03.04