In Typoskript auszuschließen, zwei Schnittstellentypen wie dieseWie ein Schlüssel von einer Schnittstelle in Typoskript
interface Foo {
var1: string
}
interface Bar {
var2: string
}
type Combined = Foo & Bar
Statt der Kombination Tasten kombinieren, möchte ich Schlüssel von einer Schnittstelle zur anderen auszuschließen. Gibt es das überhaupt in TypeScript?
Der Grund dafür ist, ich habe eine HOC, die für andere gewickelte Komponenten wie diese
export default function valueHOC<P> (
Comp: React.ComponentClass<P> | React.StatelessComponent<P>
): React.ComponentClass<P> {
return class WrappedComponent extends React.Component<P, State> {
render() {
return (
<Comp
{...this.props}
value={this.state.value}
/>
)
}
}
Damit ich
<ValuedComponent />
dann
einen Eigenschaftswert schafft
const ValuedComponent = valueHOC(MyComponent)
schreiben
aber das Problem ist, der zurückgegebene Komponententyp verwendet auch den Requisitentyp von gegebener Komponente, also TypeScr ipt wird sich beschweren und mich bitten, die value
prop bereitzustellen. Als Ergebnis muss ich etwas schreiben wie
Welche der Wert wird sowieso nicht verwendet werden. Was ich hier will eine Schnittstelle ohne spezielle Tasten zurückzukehren, möchte ich so etwas wie dieses dann
React.ComponentClass<P - {value: string}>
haben die value
nicht in der zurückgegebenen Komponente benötigt werden. Ist es in TypeScript jetzt möglich?
Sie können 'Pick' auschecken. Aber Sie können Dinge nicht dynamisch auswählen. –
unional