我的组件使用一个函数来呈现一些内部文本。我想允许我的组件的所有者提供一个自定义函数作为属性。如果没有提供自定义属性,组件将使用它自己的默认功能。很自然地,我变成了getDefaultProps这样:
propTypes: function() {
renderText: React.PropTypes.func
};
getDefaultProps: function() {
return {
renderText: this._renderText
};
}
问题是,_renderText是undefined时候getDefaultProps被调用。我可以通过检查是否this.props.renderText已定义并this._renderText在需要时返回来解决此问题。但他感觉不像 React 的做事方式。