我有以下界面:
interface orderItem {
symbol: string,
side: string,
price: number
quantity: number
}
我想在构造函数中创建一个由“ orderItems”组成的数组“ orders”。
但是,orders:[orderItem]似乎并没有解决问题。有人知道我该怎么做吗?
这是我要在构造函数中执行的操作:
this.state = {
orders: orderItem []
}
由于您正在执行对象字面量,因此冒号用于将键与值相除(即,它具有常规的javascript含义,而不具有其打字稿含义)。结果,尝试以您正在做的方式设置类型会导致错误。
您可以通过几种方法来做自己想做的事情。您可以使用as
关键字设置类型:
this.state = {
orders: undefined as orderItem[]
};
或使用空数组:
this.state = {
orders: [] as orderItem[]
};
或者,您可以提前创建一些内容,然后将其插入到对象中:
let myOrders: orderItem[] = [];
this.state = {
orders: myOrders
};
或者,您可以为状态提供一个单独的接口,并使用该接口:
interface myState {
orders: orderItem[]
}
class myClass {
private state: myState;
constructor () {
this.state = {
orders: undefined
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句