Study/React

[React] 컴포넌트(component)

taecongs 2023. 10. 13. 18:28

 


알고있으면 좋은 React Tip✨


컴포넌트(component)란?

  • 리액트는 화면에서 UI 요소를 구분할 때 '컴포넌트'라는 단위를 사용한다. 쉽게 말하면 리액트에서 앱을 이루는 가장 작은 조각이라고 할 수 있고, 레고 블록으로 집을 쌓게 된 경우 하나의 블록이 '컴포넌트'라고 할 수 있다.
  • 컴포넌트는 새로운 컴포넌트를 생성할 수 도 있고, MVC 의 뷰를 독립적으로 구성하여 재사용할 수 있다.
  • 리액트의 중요한 핵심인 '컴포넌트'에는 함수형 컴포넌트, 클래스형 컴포넌트 2가지가 있다.

 

(1)함수형 컴포넌트

  • 함수형 컴포넌트는 말 그대로 자바스크립트의 "함수(function)" 기반 컴포넌트이다.
  • 함수를 선언하듯이 function 으로 컴포넌트를 정의하고, return 문에 JSX 코드를 반환한다.
  • Hooks를 통한 LifeCycle 관리가 가능해져 리액트에서 공식적으로 함수형 컴포넌트 사용을 권장한다.
  • 클래스형 컴포넌트에 비해 함수형 컴포넌트가 비교적 메모리 자원을 적게 사용한다.
import React from 'react';

function App(){
   const name = '리엑트';
   return(
     <div>
        {name}
     </div>
   )
}

export default App;
  • 화살표 문법으로 정의하여 사용할 수 있다.
import React from 'react';

const App = () => {
   const name = '리엑트';
   return(
     <div>
        {name}
     </div>
   )
}

export default App;

 

(2)클래스형 컴포넌트

  • 자바스크립트의 "클래스" 기반 컴포넌트로, class로 정의하고 render() 함수에서 jsx 코드를 반환한다.
  • React의 ComponentClass를 상속받아  Component 상속이 필요하다.
  • 클래스 컴포넌트 안에 render() 메서드가 꼭 필요하고 메서드 안에 JSX 를 리턴한다.
  • state, props, refs,컴포넌트 메서드, 생명주기 메서드를 사용할 때 this 로 프로퍼티를 참조하여 사용한다.
import React, {Component} from 'react';

class App extends Component{
   render(){
      const name = '리엑트';
      return(
         <div>
            {name}
         </div>
      )
   }
}

export default App;

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

[React] npm start 시 터미널에 bebel dependencies 오류 메세지 발생하는 경우  (0) 2023.11.23
[React] state  (0) 2023.10.16
[React] Props  (0) 2023.10.16
[React] 리엑트 설치하기  (0) 2023.10.13