代码之家  ›  专栏  ›  技术社区  ›  Bacon

如果给定实例,我可以检查react组件类的proptype吗?

  •  1
  • Bacon  · 技术社区  · 9 年前

    我很想访问类的propTypes,例如。

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

    我希望看到一些类似的东西

    { text: function(){...}, href: function(){...} }
    

    但我得到了 undefined 。我做错了什么?我该怎么做呢?

    1 回复  |  直到 9 年前
        1
  •  3
  •   noveyak    9 年前

    您应该能够像在代码中那样静态地访问proptype。我在jsfiddle上举了一个例子,您应该能够看到控制台中打印的proptype(它们是函数)

    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/