簡體   English   中英

如果接口類型特定,我們如何在react typescript中初始化狀態

[英]How can we initialise a state in react typescript in constructor method, If it has a specific interface type

我有以下代碼:在這里,我有一個狀態的接口類型。 我如何在構造函數方法中初始化它。 由於它不允許我初始化為字符串/ null /數字

interface IState { selectedUser?: IUserMenu}

class AssignUser extends React.Component<IProps, IState>{ constructor(props: IProps) { super(props); this.state = { selectedUser: ' what i have to put here' }}}

構造函數中的this.state ={}意味着什么?

IUserMenu是一個接口,因此無法初始化為數字,'',null,

我只能使用的是undefined

嗨@ankitjayaprakash,

我有一個關於您的情況的示例,其中我正在初始化接口中描述的要傳遞的對象(但不是可選的)

你可以在這里看到

“ this.state = {}”在構造函數中的作用只是初始化該組件的狀態,即使沒有任何構建函數也可能使該組件退出。

您的IState接口指定它具有一個名為selectedUser屬性,該屬性是可選的(因為其后有一個?)。

如果確實提供了selectedUser ,則它的類型必須為IUserMenu 因此,您what i have to put here的對象符合IUserMenu接口。

this.state = {}表示使用括號中定義的對象初始化狀態。 在您的情況下,括號中定義的對象必須與您的IState接口匹配(因此,包含一個名為selectedUserundefined IUserMenu類型的IUserMenu

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM