在打字稿中,我想做这样的事情:
interface SomeType {
name: string
}
useState([]:SomeType[]); // This creates an empty array of SomeType inline & calls a function called useState
甚至
function getArrayOfSomeType():SomeType[] {
return []:SomeType[];
}
其他情况可能涉及相同的概念,但带有地图/词典:
// Maybe there is a better way to declare maps?
interface MapOfSomeTypes {
[key:string]: SomeType
}
function getMapOfTypes():MapOfSomeTypes {
return {} as MapOfSometypes; // or perhaps {}:MapOfSomeTypes
}
这是为了避免必须先声明它们,然后在我需要的只是它们的空版本时将它们返回或将它们传递给另一个函数(例如react-hooks)。
答案 0 :(得分:2)
无需显式声明它们-打字稿会为您推断出来,因此
interface SomeType {
name: string
}
useState([]);
function getArrayOfSomeType():SomeType[] {
return [];
}
interface MapOfSomeTypes {
[key:string]: SomeType
}
function getMapOfTypes():MapOfSomeTypes {
return {};
}