使用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

回到顶部