我找到了这个例子 PropTypes on Higher Order Components
基本上,在将它们返回到装饰器之前,它们会将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 :(得分:1)
React不会删除代码的propTypes
,只是在生产中跳过propTypes
验证。
如果您要删除生产中的propTypes
相关代码,可以使用babel-plugin-transform-react-remove-prop-types
。
此外,您可以使用babel-react-optimize
进行进一步优化。
答案 1 :(得分:0)
您可以在代码here中看到,仅当__DEV__
为真时才会检查道具类型。在生产版本中,propTypes
不会从您的代码中删除,只是跳过检查以获得更好的性能
在你的情况下也会跳过它。