繁体   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