moretz0921 2022. 3. 24. 20:58

PropTypes : 부모로부터 전달받은 prop의 데이터 type을 검사 ( 자료형 지정 ) 

- 자바스크립트를 이용해 앱을 개발해야 하는 상황에서는 PropTypes를 활용하는 것을 권장

- 타입스크립트 이용시에는 불 필요 

 

 

import PropTypes from "prop-types";

Food.PropTypes = { //PropTypes 이름 고정
    name: PropTypes.string.isRequired, //필수로 string, 아니면 에러
    picture: PropTypes.string.isRequired,
    rating: PropTypes.number //필수는 아니지만 number or undefined
};



종류
1) 기본적으로 제공되는 타입들 

  • array: 배열
  • arrayOf: 특정 propType으로 이루어진 배열
  • bool: true or false 값
  • func: 함수
  • number: 숫자
  • object: 객체
  • string: 문자열
  • symbol: ES6의 Symbol
  • node: 렌더링할 수 있는 모든 것(숫자, 문자열, JSX코드)
  • instanceOf: 특정 클래스의 인스턴스(ex: instanceOf(MyClass))
  • oneOf(['dog', 'cat']): 주어진 배열 요소 중 값 하나
  • oneOfType([React.PropTypes.string, PropTypes.number]): 주어진 배열 안의 종류 중 하나
  • objectOf(React.PropTypes.number): 객체의 모든 키 값이 인자로 주어진 PropType인 객체
  • shape({ name: PropTypes.string, num: PropTypes.number }): 주어진 스키마를 가진 객체
  • any: 아무 종류



출처: https://snupi.tistory.com/145?category=0 [SNUPI]


2) 커스텀 타입 함수 작성

 

 

 

출처

https://snupi.tistory.com/145?category=0 

 

[React] Prop-Types 개념과 종류

우리는 props를 이용할 때 prop-types을 이용하여 자료형을 지정해 오류를 줄일 수 있다. 전체 애플리케이션의 타입 확인을 위하여 Flow 또는 TypeScript 와 같은 JavaScript 도구(Extensions)를 사용하지 않더

snupi.tistory.com