2017-03-21 3 views
1

는 내가 장식에 반환하기 전에 PropTypes on Higher Order Components상위 구성 요소의 PropType을 프로덕션 환경에서 제거합니까?

는 기본적으로 그들이 구성 요소에 propTypes를 추가하기위한이 예제를 발견했습니다. 아래 코드를 참고하십시오.

나는 프로덕션이 반응 스트립 PropTypes의 빌드를 알고 있지만 아래와 같은 내부 함수에서 제거하겠습니까?

function EnhanceButton(Component) { 
    class _EnhancedButton extends React.Component { 
     render() { 
      return (
       <Component { ...this.props }>{this.props.children}</Component> 
      ); 
     } 
    } 
    _EnhancedButton.propTypes = Component.propTypes; 

    return _EnhancedButton; 
} 

답변

0

React는 코드의 propTypes을 제거하지 않으므로 프로덕션에서 propTypes 유효성 검사를 건너 뜁니다.

propTypes 관련 코드를 프로덕션 환경에서 제거하려면 babel-plugin-transform-react-remove-prop-types을 사용할 수 있습니다.

게다가 babel-react-optimize을 사용하여 추가 최적화를 수행 할 수 있습니다.

+0

아, 설명해 주셔서 감사합니다. –

0

당신은 __DEV__에 해당하는 경우 그 소품 종류는 체크, 코드 here에서 볼 수 있습니다. propTypes이 프로덕션 빌드에서 코드에서 제거되지 않으면 더 나은 성능을 위해 검사를 건너 뜁니다.
귀하의 경우에도 건너 뜁니다.

관련 문제