相关疑难解决方法(0)

高阶组件上的PropTypes

有没有办法让PropTypes从高阶组件内的组件指回到它们的创建位置?

在此输入图像描述

这是一个很小的示例,但如果EnhancedButtons整个应用程序中存在多个单独的文件,那么调试将非常困难.

由于高阶组件理想地用于可重用性,我们可能永远不会知道缺少handleClick方法的组件的位置.render方法_EnhancedButtonComponent我们想要增强的任何变量 .

是否有任何方法可以使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)

javascript reactjs

12
推荐指数
2
解决办法
5685
查看次数

标签 统计

javascript ×1

reactjs ×1