我正在为一些共享方法和一些(但不是全部)props的 React 组件使用抽象超类。
class AbstractStory extends Component { ... }
AbstractStory.propTypes = {
storyForm: PropTypes.string,
timestamp: PropTypes.number
}
class NewContentStory extends AbstractStory { ... }
我假设如果子类的 propTypes 与超类没有区别,我可以在子类中不声明它们,并且它们将从超类继承。
但是,如果子类有其他属性,是否有一种好方法可以在不重申超类上声明的内容的情况下声明它们?这样做有什么问题吗?
NewContentStory.propType = {... AbstractStory, newProp: PropTypes.string}
如果子类修改了在超类上声明的属性(使其成为必需的,为对象添加形状等)呢?