Ich migriere ein React with TypeScript-Projekt, um Hooks-Funktionen (React v16.7.0-alpha) zu verwenden, kann jedoch nicht herausfinden, wie die Typisierungen der zerstörten Elemente festgelegt werden.
Hier ist ein Beispiel:
interface IUser {
name: string;
}
...
const [user, setUser] = useState({name: 'Jon'});
Ich möchte erzwingen, dass die user
Variable vom Typ ist IUser
. Mein einziger erfolgreicher Versuch besteht darin, ihn in zwei Phasen durchzuführen: Tippen und dann initialisieren:
let user: IUser;
let setUser: any;
[user, setUser] = useState({name: 'Jon'});
Aber ich bin sicher, es gibt einen besseren Weg. Auch setUser
sollte als Funktion initialisiert werden, der eine nimmt IUser
als Eingabe und gibt nichts zurück.
Es ist auch erwähnenswert, dass die Verwendung const [user, setUser] = useState({name: 'Jon'});
ohne Initialisierung gut funktioniert, aber ich möchte TypeScript nutzen, um die Typprüfung für init zu erzwingen, insbesondere wenn dies von einigen Requisiten abhängt.
Danke für Ihre Hilfe.