如何创建自定义类型打字稿的数组

布拉泽里克斯

我有以下界面:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

打字稿:泛型的自定义类型防护?

如何在Go中创建自定义类型元素的自定义类型数组?

打字稿:对照自定义类型检查“ typeof”

如何在打字稿2.0 / 3.0中添加自定义“类型”

如何遍历打字稿中的自定义文字类型?

如何在打字稿中创建自定义数据类型?

打字稿2:node_modules中的自定义类型定义

打字稿自定义属性名称

打字稿自定义映射类型

打字稿:如何将特定的库方法转换为自定义类型定义

为数组创建自定义类型

打字稿中数组上的自定义键

Axios打字稿自定义AxiosRequestConfig

在打字稿中创建数组类型

打字稿无法推断自定义钩子中的解构数组类型

如何正确导入打字稿中的自定义类型

打字稿| 无法循环自定义类型对象

打字稿:如何从字符串数组定义类型?

配置增强类型以添加自定义打字稿交叉类型

使用打字稿创建自定义反应路由组件。类型上不存在属性“路径”... RouteProps

打字稿:类型“字符串”不可分配给自定义类型

如何根据打字稿中的数组定义映射类型?

打字稿:验证字符串数组的自定义类型

打字稿:如何声明具有从 IIFE 返回的自定义属性的函数的类型

如何在打字稿中添加自定义类型以扩展具有某些条件的基本类型

打字稿自定义钩子,事件类型问题

如何将打字稿动态类型作为参数传递给自定义钩子?

打字稿字符串或自定义类型

打字稿如何定义多个类型数组