我正在迁移带有TypeScript的React项目以使用挂钩功能(React v16.7.0-alpha),但是我不知道如何设置已分解元素的类型。
这是一个例子:
interface IUser {
name: string;
}
...
const [user, setUser] = useState({name: 'Jon'});
我想强制user
变量为type IUser
。我唯一成功的试用是分两个阶段进行的:键入,然后初始化:
let user: IUser;
let setUser: any;
[user, setUser] = useState({name: 'Jon'});
但是我敢肯定有更好的方法。另外,setUser
应将其初始化为以aIUser
作为输入且什么都不返回的函数。
另外,值得注意的是,const [user, setUser] = useState({name: 'Jon'});
不进行任何初始化就可以正常使用,但是我想利用TypeScript强制对init进行类型检查,特别是如果它依赖于某些道具的话。
谢谢你的帮助。