Я мігрую проект React з проектом TypeScript, щоб використовувати функції хуків (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, особливо якщо це залежить від деяких реквізитів.
Спасибі за вашу допомогу.