4
我想知道指定React組件在Typescript中沒有道具的正確方法。React和Typescript:沒有道具通過時的類的公約
如果我有一個組件,我可以指定有兩個接口是什麼道具和狀態:
所以,如果我的組件沒有道具,我應該用void
,undefined
或{}
?
我想知道指定React組件在Typescript中沒有道具的正確方法。React和Typescript:沒有道具通過時的類的公約
如果我有一個組件,我可以指定有兩個接口是什麼道具和狀態:
所以,如果我的組件沒有道具,我應該用void
,undefined
或{}
?
這個確切的(幾乎)問題在Typescript 2.3的公告中得到解答。
但是,大多數情況下,組件中永遠不會使用狀態。在這種情況下,我們可以只寫或類型的對象{},但我們必須這樣做明確:
class FooComponent extends React.Component<FooProps, object> { // ... }
因此,在你的情況,你只想扭轉object
的道具PARAM使用而不是狀態參數。
謝謝你的回答! –
我不認爲有這樣做的「正確方法」,但是當組件沒有道具(或沒有狀態)時,通常使用'void',它是[寫在文檔中](https:/ /www.typescriptlang.org/docs/handbook/basic-types.html#void):'根本沒有任何類型' –
從類型系統的角度來看,'{}'更好。 'undefined'簡直是不準確的,'void'沒有任何意義。 @NitzanTomer不是沒有道具映射到空集的概念而不是集? –
感謝您的提示! –