function Foo(): string {}
意味着Foo
是返回string
的函數。如何定義命名函數的類型?
interface SFC {
(props: Props): any;
}
const Foo: SFC = p => {};
就是說Foo
是一個匿名函數相匹配的簽名SFC
和p
是Props
類型。
如何聲明function Foo()
匹配SFC
?語法是什麼?
即,我想使用function
關鍵字(而不是const
)聲明一個函數,而函數本身的類型爲SFC
。
這些不工作:
function Foo: SFC() {}
function Foo() {}: SFC
它們100%是否相等? TSX編譯器是否將'displayName'添加到以這種方式聲明的React無狀態功能組件? – mpen
我不認爲匿名函數有名字,但顯然[他們](https://gist.github.com/mnpenner/3e112138dfb3ba6f49662b51ec60726e),但不是當他們像*真*匿名(包裝一個IIFE而不是分配給一個var)。 – mpen
你也可以命名該函數,如:'const Foo:SFC = function Foo(){};' – jcalz