下面的代码示例是一个组件的简化版本。我不理解这个组件底部的代码,Case.wrappedComponent.propTypes部分。我也无法在Internet上找到有关wrappedComponent的相关文档。
问题:
我在哪里可以找到这些东西的文件?
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
};
答案 0 :(得分:3)
这是mobx-react
的API(带注入)并且根据DOCS
将propTypes和defaultProps以及其他静态属性与inject结合使用 Inject在传递给它的组件周围包装一个新组件。这意味着为结果组件分配静态属性将应用于HoC,而不是原始组件
........
如果要对正在注入的数据进行断言 (存储或由映射器函数产生的数据), propTypes应该在包装组件上定义。这是 可以通过注入的静态属性wrappedComponent获得 成分