如果给出实例,我可以检查反应组件类的proptypes吗?
问题描述:
我很想访问一个类的propTypes,例如如果给出实例,我可以检查反应组件类的proptypes吗?
var Button = React.createClass({
propTypes: {
text: React.PropTypes.string,
href: React.PropTypes.string
},
...
})
...
var ButtonPropTypes = Button.propTypes
我希望看到的东西沿着
{ text: function(){...}, href: function(){...} }
线而是我得到undefined
。我做错了什么,以及我如何得到这些proptypes?
答
您应该能够像您在代码中一样静态访问proptypes。我把一个实例上的jsfiddle,你可以应该能够看到正在打印的proptypes在控制台(他们是函数)
var Hello = React.createClass({
getDefaultProps: function() {
return {
testing: 'default value'
};
},
propTypes: {
testing: React.PropTypes.string
},
render: function() {
return (
<div>
<div>{this.props.name}</div>
</div>
)
}
});
React.render(<Hello name="World" />, document.getElementById('container'));
console.log(Hello.propTypes)
没错!我愚蠢地试图访问没有设置任何proptypes的类的proptypes!谢谢。 :d – Bacon