我试图将Typescript引入一个项目,该项目使用各种其他类属性扩展react组件。我试图找出如何扩展React.Component类型以合并这些附加属性。
作为我的意思的一个例子,无论是阶级还是功能形式:
class SampleComponent extends React.Component<{}, {}> {}
const OtherComponent: React.SFC<{}> = (props) => <div/>
SampleComponent.importantClassProp = "Hello StackOverflow"
OtherComponent.importantClassProp = "I need help."
迄今为止我能够获得的最接近的是以下内容,它仅适用于纯功能组件,并使附加道具可选(因为它在组件声明后在技术上设置,使得属性强制性将是惊人的。)
interface SpecialComponent<P = {}> extends React.StatelessComponent<InputProps & P> {
specialKey?: string;
}
const Component: SpecialComponent<{}> = props => <div/>
Component.specialKey = "Yo"