[React] 컴포넌트간 props 전달

2021. 7. 25. 20:50·React/React Basic
목차
  1. 일반적인 Props
  2. 태그 사이의 내용 children
  3. 비 구조화 할당 (props를 세분화)
  4. props default value 설정

일반적인 Props

컴포넌트 간 전달되는 매개변수를 props라 한다.

일반적으로 아래와 같이 선언하고 전달할 수 있다.

 

//호출
<Container name="pitter park" />


//컴포넌트 (반드시 대문자)
const Container = (props) => {
  return <div>{props.name}</div>;
};

 

 

태그 사이의 내용 children

<Container name="pitterPark">my name is</Container>


const Container = (props) => {
  return <div>{props.children + " " + props.name}</div>;
};

 

비 구조화 할당 (props를 세분화)

<Container name="pitterPark">my name is</Container>


//방법1
const Container = ({name, children}) => {
  return <div>{children + ' ' + name}</div>;
};


//방법2
const Container = (props) => {
  const {name, children} = props;

  return <div>{children + ' ' + name}</div>;
};

 

 

props default value 설정

import PropTypes from "prop-types"; //proptypes import



<Container />


const Container = (props) => {
  return (
    <div>
      {props.children || ""} //children이 undefined인 경우 공백 출력
      {" " + props.name}
    </div>
  );
};

Container.defaultProps = { name: "what is your name?" }; //기본 값

//name의 타입을 string으로 선언하고 반드시 입력받도록 함
Container.propTypes = { name: PropTypes.string.isRequired };

설정된 value에 어긋날 경우 개발자 도구의 consol에서 에러 문구가 발생함

 

 

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

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

[React] List를 컴포넌트로 렌더링  (0) 2021.07.31
[리액트] Ref에 관하여 (useRef)  (0) 2021.07.31
[React] 이벤트에서 함수 호출하기  (1) 2021.03.15
[React] JSX 기본 익히기  (0) 2021.03.11
[React] 전통적인 Context 이해하기.  (0) 2021.01.21
  1. 일반적인 Props
  2. 태그 사이의 내용 children
  3. 비 구조화 할당 (props를 세분화)
  4. props default value 설정
'React/React Basic' 카테고리의 다른 글
  • [React] List를 컴포넌트로 렌더링
  • [리액트] Ref에 관하여 (useRef)
  • [React] 이벤트에서 함수 호출하기
  • [React] JSX 기본 익히기
박유상의 개발블로그
박유상의 개발블로그
개발블로그
  • 박유상의 개발블로그
    박유상의 개발블로그
    박유상의 개발블로그
  • 전체
    오늘
    어제
    • 전체 (134)
      • Who am I (10)
        • Portfolio (4)
        • Reminiscence (5)
        • Oversea (1)
        • SiliconValley (0)
      • React (36)
        • React Basic (15)
        • React Tech (5)
        • JavaScript (7)
        • TypeScript (3)
        • CSS&HTML (3)
        • Firebase (3)
      • NodeJS (1)
        • NodeJS Basic (1)
      • Flutter (55)
        • Flutter Widget Design (5)
        • Flutter Widget Basic (8)
        • Flutter Tech (18)
        • Flutter Issue (7)
        • Flutter Web (6)
        • About Flutter (2)
        • Firebase (1)
        • Dev Env (1)
        • Dart (7)
      • Programming (31)
        • Web (1)
        • General (0)
        • Algorithm (25)
        • Python (1)
        • VS Code (2)
      • Django (0)
  • 블로그 메뉴

    • Who I AM
    • React
    • NodeJS
    • Flutter
    • Programming
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Redux
    Lingory
    Firebase
    플러터
    웹
    useTranslation
    CSS
    flutter web
    HTML
    알고리즘
    포트폴리오
    프로그래머스
    파이썬
    react
    JavaScript
    Flutter
    JSON
    링고리
    DP
    map
    DART
    TypeScript
    Python
    자바스크립트
    리액트
    github
    플러터 웹
    useRef
    useState
    탐욕법
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박유상의 개발블로그
[React] 컴포넌트간 props 전달

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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