propTypes 은 리액트 컴포넌트 props 의 타입을 지정해 줄 수 있는 방법이다.
타입스크립트에서는 필요없지만, js 에서는 유용하다.
React15 버전 이후로 prop-types 라는 별도 패키지로 제공된다.
하지만, 지정해준 타입과 다른 인자가 들어오면 콘솔에 에러를 띄워준다.
class Timer extends Component {
...
};
Timer.propTypes = {
date: PropTypes.string,
stop: PropTypes.bool,
title: PropTypes.string.isRequired
}
defaultProps 는 컴포넌트 props 의 기본값을 설정해주는 방법이다.
이것도 마찬가지로 ts 를 쓰면 필요없긴하다.
class Timer extends Component {
...
};
Timer.defaultProps = {
date: '2022-1-01',
stop: true,
title: 'Omega'
}