有没有办法让PropTypes从高阶组件内的组件指回到它们的创建位置?
这是一个很小的示例,但如果EnhancedButtons
整个应用程序中存在多个单独的文件,那么调试将非常困难.
由于高阶组件理想地用于可重用性,我们可能永远不会知道缺少handleClick方法的组件的位置.render方法_EnhancedButton
是Component
我们想要增强的任何变量 .
是否有任何方法可以使PropTypes在创建它们的位置更加明显,例如FinalButton
插入并且是一个实例_EnhancedButton
并且缺少prop handleClick?
https://jsfiddle.net/kriscoulson/sh2b8vys/3/
var Button = (props) => (
<button onClick={ () => props.handleClick() }>
Submit
</button>
);
Button.propTypes = {
handleClick: React.PropTypes.func.isRequired
}
const EnhanceButton = Component => class _EnhancedButton extends React.Component {
render () {
return (<Component { ...this.props }>{this.props.children}</Component>);
}
}
const FinalButton = EnhanceButton(Button);
ReactDOM.render(
<FinalButton />,
document.getElementById('container')
);
Run Code Online (Sandbox Code Playgroud)
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your …
Run Code Online (Sandbox Code Playgroud)