2017-10-25 4 views
0

Es könnte ein Rookie Fehler sein, aber ich versuche, eine einfache Klasse Dekorateur für eine Komponente Reagieren mit Typoskript zu erstellen, wie folgt aus:Typoskript Reagieren Komponente Dekorateur

import * as React from 'react' 

interface Greeter { 
    sayHello: boolean 
} 

const greet = (arg: Greeter) => (Comp: React.Component) => { 
    // do some stuff 
} 

@greet({ sayHello: true }) 
class MyComp extends React.Component<any, any> { 
    render() { 
    return <div>Hi</div> 
    } 
} 

Aber ich einen Compiler-Fehler bekommen

sagen

Argument des Typs 'typeOf MyComp' ist nicht zuordenbare Parameter von Typ 'Komponente < {}, {}>'.

Was genau mache ich hier falsch? Fehle ich etwas mit der Dekoratorsyntax?

Antwort

1

Wie Sie die Klasse zu greet, anstatt ein Objekt dieser Klasse sind vorbei, ein typeof hinzu: jetzt

const greet = (arg: Greeter) => (Comp: typeof React.Component) => { 
    // do some stuff 
} 
+0

Ich fühle mich dumm ... Danke! –

Verwandte Themen