PropTypes에 대해서(vs Typescript)

Jun 2nd 2020 by jyoon

Typescript, PropsTypes 설명

  • Typescript, PropTypes의 validate 시점 차이

    • Typescript: compile time
    • PropsTypes: runtime
  • PropTypes를 쓰면 좋은점

    • API통신을 통해 JSON 데이터를 받아 컴포넌트로 전달시에 설정한 타입이 아니라면 아래 와 같은 에러 메시지를 보여준다.

      Warning: Failed prop type: Invalid prop `id` of type `number` supplied to `Table`, expected `string`
  • TypeScript를 쓰면 좋은점

    • 컴포넌트간 잘못된 type을 넘겨주면 경고해준다
  • 정리

인스타그램 클론 코딩 Props 사용 예시

import PropTypes from 'prop-types';

const Feed = (props) => {
	if (props.loading) {
		return <LoadingFeed />;
	} else if (props.feed) {
		console.log('### Feed > presenter.js > props', props);
		return <RenderFeed {...props} />;
	}
};

Feed.propTyps = {
	loading: PropTypes.bool.isRequired,
	feed: PropTypes.array
};

export default Feed;