2017-05-24 22 views
0

我想知道如果確定與一個打字原稿反應類成分的推薦的方法是使用一個空的狀態類型:什麼是無定義反應組件類的適當方式?

class MyComponent extends React.Component<any, void> { 
    constructor(props) { 
     super(props); 
     // The typescript compiler won't allow this using void type 
     // this.state = {...} 
    [...] 
} 

你知道一個建議或更好的辦法?

注:該組件必須是一流的,因爲我需要的生命週期方法

+0

以這種方式定義組件有什麼問題? –

+0

沒關係,但我正在尋找某種官方方式 –

回答

1

它完全合法使用void的狀態類型。我還沒有看到任何基於類的無狀態組件的「官方」建議,但是(如果這會讓你感覺更安全),這種方法被一些不是很小的projects使用。

您可以使用{}而不是void,但這不會保護您無法將某些內容分配給狀態。

也可以指定never,它似乎給出了與void相同的結果。

+0

感謝您的回答!我聽說過從來沒有類型,我會嘗試。我不知道概念上是否比無效要好 –

+0

我個人的偏好是使用'void',因爲它更好地「描述」你的意圖。 – Amid

相關問題