Я переношу проект React с проектом TypeScript, чтобы использовать функции hooks (React v16.7.0-alpha), но я не могу понять, как установить типизацию деструктурированных элементов.
Вот пример:
interface IUser {
name: string;
}
...
const [user, setUser] = useState({name: 'Jon'});
Я хочу заставить переменную user
иметь тип IUser
. Мое единственное успешное судебное разбирательство делает это в два этапа: ввод, затем инициализация:
let user: IUser;
let setUser: any;
[user, setUser] = useState({name: 'Jon'});
Но я уверен, что есть лучший способ. Кроме того, setUser
должен быть инициализирован как функция, которая принимает IUser
как входную, и ничего не возвращает.
Кроме того, стоит отметить, что использование const [user, setUser] = useState({name: 'Jon'});
без каких-либо операций инициализации, но я хотел бы использовать TypeScript для принудительной проверки типа init, особенно если это зависит от некоторых реквизитов.
Спасибо за вашу помощь.