我试图在React中使用TypeScript,但出现了一个我不明白的错误:
<html>TS2339: Property 'subEnd' does not exist on type 'SetStateAction<User>'.<br/>Property 'subEnd' does not exist on type '(prevState: User) => User'.
我试着用
this
useState
,我得到一个错误:
function fetchUserInfo(
data: InterfaceJsonUserInfo,
setUserObject: React.Dispatch<React.SetStateAction<User>>
) {
setUserObject({
id: data.id,
subEnd: new Date(data.subEnd),
subExpired() {
const subEndDate = this.subEnd;
const nowDate = new Date();
return (subEndDate > nowDate);
},
}
这是我的界面:
export interface User {
id: string, // Uuid
subEnd: Date,
subExpired: () => boolean,
}
我不明白为什么我会出错,因为
subEnd
在用户界面上。
当我从
<User>
到
React.Dispatch<React.SetStateAction<any>>
,代码实际上可以工作,但是我想指定类型而不是使用
any