0
我寫樣型樹如下:如何在TypeScript中定義樹型?
type ReactNode = ReactChild | Array<ReactNode>
但編輯告訴我,
TS2456:類型別名 'ReactNode' 循環引用自身。
如何解決此錯誤?
我寫樣型樹如下:如何在TypeScript中定義樹型?
type ReactNode = ReactChild | Array<ReactNode>
但編輯告訴我,
TS2456:類型別名 'ReactNode' 循環引用自身。
如何解決此錯誤?
有與類型別名遞歸,如this issue簡要解釋了一個問題:
類型別名是不喜歡的接口。接口是命名類型, 其中as類型別名只是別名。內部以及它們的處理方式不同,編譯器積極地將類型別名 變爲其聲明。
這裏有一個更長的討論:allow recursive generic type aliases。
在你的情況,你可以這樣做:
interface ReactNodeArray extends Array<ReactNode> {}
type ReactNode = ReactChild | ReactNodeArray;