Có cách nào cho các PropTypes từ một thành phần bên trong một thành phần bậc cao hơn để trỏ trở lại nơi chúng được tạo ra không?PropTypes trên các thành phần bậc cao hơn
Đây là một mẫu nhỏ nhưng nếu có được nhiều EnhancedButtons
suốt một ứng dụng trong các tập tin riêng biệt này sẽ rất khó để gỡ lỗi.
Vì thành phần thứ tự cao hơn được lý tưởng để sử dụng lại, chúng tôi có thể không bao giờ biết vị trí của thành phần thiếu phương thức handleClick. Phương thức render của _EnhancedButton
là một biến cho bất kỳ Component
nào mà chúng ta muốn nâng cao.
Có cách nào để làm cho các PropTypes rõ ràng hơn khi chúng được tạo ra như FinalButton
được chèn vào và là một thể hiện của _EnhancedButton
và thiếu trình điều khiển prop?
https://jsfiddle.net/kriscoulson/sh2b8vys/3/
var Button = (props) => (
\t <button onClick={() => props.handleClick() }>
\t \t Submit
\t </button>
);
Button.propTypes = {
\t handleClick: React.PropTypes.func.isRequired
}
const EnhanceButton = Component => class _EnhancedButton extends React.Component {
\t render() {
\t return (<Component { ...this.props }>{this.props.children}</Component>);
}
}
const FinalButton = EnhanceButton(Button);
ReactDOM.render(
<FinalButton />,
document.getElementById('container')
);
<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 component. -->
</div>
Cảm ơn rất nhiều! :) – Mihir