[英]Can we implement interface for react state attributes in 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接口匹配(因此,包含一个名为selectedUser
的undefined
IUserMenu
类型的IUserMenu
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.