如果给出一个实例,我可以检查反应组件类的proptypes吗?

时间:2015-08-20 06:12:42

标签: reactjs introspection

我想要访问类的propTypes,例如

var Button = React.createClass({
  propTypes: {
    text: React.PropTypes.string,
    href: React.PropTypes.string
  },
  ...
})

...

var ButtonPropTypes = Button.propTypes

我期待看到

的内容
{ text: function(){...}, href: function(){...} }

但我获得了undefined。我做错了什么,我怎么能得到这个类型?

1 个答案:

答案 0 :(得分:3)

您应该可以像在代码中一样静态访问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)

https://jsfiddle.net/fj7ax0qr/