我试图声明一个函数类型,然后在类,对象和接口中使用它:
declare function IUpdateMode(mode: Mode): void;
然后我要像这样使用它:
type Foo = {
updateMode: IUpdateMode
}
class Foo extends React.Component<any> {
updateRedMode(mode): IUpdateMode {}
}
function updateGreenMode(mode): IUpdateMode {
}
这可能是打字稿吗?
答案 0 :(得分:1)
我认为您真正想要的就是这个:
type UpdateMode = (mode: Mode) => void
现在您可以在提到的任何地方使用它,但需要进行一些更正:
interface IFoo { // interface instead of a type is preferable when possible (e.g. you may extend it)
updateMode: UpdateMode
}
class Foo extends React.Component<any> implements IFoo {
updateMode = (mode: Mode) => {}
}
const updateGreenMode: UpdateMode = (mode) => { // there is no way to restrict a classic function to type alias or interface
}