使用TypeScript在useState React Hook上设置类型
我正在迁移带有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
应将其初始化为以a IUser
作为输入但不返回任何内容的函数。
另外,值得注意的是,const [user, setUser] = useState({name:
'Jon'});不进行任何初始化就可以正常使用,但是我想利用TypeScript强制对init进行类型检查,尤其是在依赖于某些道具的情况下。
谢谢你的帮助。
回答:
用这个
const [user, setUser] = useState<IUser>({name: 'Jon'});
在此处查看相应的类型:https
:
//github.com/DefinitelyTyped/DefinitelyTyped/blob/8a1b68be3a64e5d2aa1070f68cc935d668a976ad/types/react/index.d.ts#L844
以上是 使用TypeScript在useState React Hook上设置类型 的全部内容, 来源链接: utcz.com/qa/435481.html