[React] 컴포넌트간 props 전달

2021. 7. 25. 20:50·React/React Basic

일반적인 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
'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
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바