在reactjs中,wrappedComponent.propTypes是什么?

时间:2017-12-02 19:54:22

标签: reactjs

下面的代码示例是一个组件的简化版本。我不理解这个组件底部的代码,Case.wrappedComponent.propTypes部分。我也无法在Internet上找到有关wrappedComponent的相关文档。

问题

  1. wrapComponent和propTypes键是什么?
  2. 他们做了什么?
  3. 我在哪里可以找到这些东西的文件?

    import React, { Component } from 'react';
    
    @inject('store') @observer
    export default class Case extends Component {
    
      constructor(props) {
      super(props);
    
      this.caseId = this.props.match.params.id;
    
    
      this.setOtherComment = this.setOtherComment.bind(this)
      this.submitOtherComment = this.submitOtherComment.bind(this)
      }
    
    
    
      render() {
        return '...'
      }
    }
    
    Case.wrappedComponent.propTypes = {
      store: React.PropTypes.object.isRequired,
      match: React.PropTypes.object.isRequired
    };
    

1 个答案:

答案 0 :(得分:3)

这是mobx-react的API(带注入)并且根据DOCS

  

将propTypes和defaultProps以及其他静态属性与inject结合使用   Inject在传递给它的组件周围包装一个新组件。这意味着为结果组件分配静态属性将应用于HoC,而不是原始组件

     

........

     

如果要对正在注入的数据进行断言   (存储或由映射器函数产生的数据),   propTypes应该在包装组件上定义。这是   可以通过注入的静态属性wrappedComponent获得   成分