리액트 | 컴포넌트

2023. 1. 13. 18:54·React
목차
  1. 리액트 컴포넌트
  2. 컴포넌트 선언방법 (종류)

html의 컴포넌트

EX) body -> form -> input

 

리액트의 컴포넌트의 형태 (Tree구조)

App/ -> app.js 최상위 컴포넌트 딱 1개만 있어야함

수정시 리랜더링을 하지 않으려고 나눔

 

https://goddaehee.tistory.com/299

리액트 컴포넌트

- 리액트로 만들어진 앱을 이루는 최소한의 단위

- 기존의 웹 프레임워크는 MVC방식으로 분리하여 관리하여 각 요소의 의존성이 높아 재활용이 어렵다는 단점이 있었다.

   반면 컴포넌트는 MVC의 뷰를 독립적으로 구성하여 재사용을 할 수 있고 이를 통해 새로운 컴포넌트를 쉽게 만들 수 있다.
- 컴포넌트는 데이터(props)를 입력받아 View(state) 상태에 따라 DOM Node를 출력하는 함수.
- 컴포넌트 이름은 항상 대문자로 시작하도록 한다. 
   (리액트는 소문자로 시작하는 컴포넌트를 DOM 태그로 취급하기 때문이다.

- UI를 재사용 가능한 개별적인 여러 조각으로 나누고, 각 조각을 개별적으로 나누어 코딩한다.

 - “props”라고 하는 임의의 입력을 받은 후, 화면에 어떻게 표시되는지를 기술하는 React 엘리먼트를 반환한다.

 - props와 state 등의 특징들은 따로 정리 하도록 한다.

 

컴포넌트 선언방법 (종류)

리액트에서 정의하는 컴포넌트 종류는 크게 함수형 컴포넌트, 클래스 컴포넌트 2가지가 있다. 책 87p에 있음

컴포넌트는 여러개일 수 있다.

 

함수형 컴포넌트 (Stateless Functional Component)

- 가장 간단하게 컴포넌트를 정의하는 방법이다.

 

모듈 내보내기 (export)

export default 이름;

모듈 불러오기 (import)

import 이름 from './MyComponent';

 

 

MyComponent.js

const MyComponent = () => {
    return(
        <div>MyComponent1</div>
    )
}

export default MyComponent;

MyComponent2.js

const MyComponent2 = () => {
    return (
        <div>MyComponent2</div>
    )
}

export default MyComponent2;

MyComponent3.js

const MyComponent3 = () => {
    return (
        <div>MyComponent3</div>
    )
}

export default MyComponent3;

App.js

import { Fragment } from "react";
import MyComponent from "./component/MyComponent";
import MyComponent2 from "./component/MyComponent2";
import MyComponent3 from "./component/MyComponent3";

const App = () => {

  return (
    <Fragment>
      <MyComponent/>
      <MyComponent2/>
      <MyComponent3/>
    </Fragment>
  )

}

export default App;

 

결과

 

클래스형 컴포넌트 

클래스형 컴포넌트는 render함수안에서 return을 작성

MyComponent3.js

import { Component } from "react";


class MyComponent3 extends Component {
    //클래스형 컴포넌트는 render함수안에서 return을 작성
    render() {

        let {name} = this.props;//props
        console.log(name);
        return (
			<div>나의 클래스형 컴포넌트</div>
        )
    }
}

export default MyComponent3;

 

'React' 카테고리의 다른 글

리액트 | state  (0) 2023.01.16
리액트 | props  (0) 2023.01.16
리액트 | jsx 문법  (0) 2023.01.14
리액트 | 환경설정  (0) 2023.01.13
리액트 | 리액트란?  (0) 2023.01.13
  1. 리액트 컴포넌트
  2. 컴포넌트 선언방법 (종류)
'React' 카테고리의 다른 글
  • 리액트 | props
  • 리액트 | jsx 문법
  • 리액트 | 환경설정
  • 리액트 | 리액트란?
개발 공부
개발 공부
  • 개발 공부
    개발 공부
    개발 공부
  • 전체
    오늘
    어제
    • 전체보기 (163)
      • 프로젝트 (1)
      • JavaScript (46)
      • Node.js (3)
      • Next.js (5)
      • React (17)
      • NoSQL (0)
      • HTML,CSS (3)
      • CS (6)
      • Java (35)
      • Spring (6)
        • Spring의 정석 (1)
      • Spring boot (1)
      • MySQL (1)
      • 리눅스 (16)
      • JSP (9)
      • AWS (0)
      • git (2)
      • 알고리즘 (1)
      • ect (7)
      • Project (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    Java
    티스토리챌린지
    Java의 정석
    자바
    자바의 정석
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발 공부
리액트 | 컴포넌트
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.