递归类型中动态属性与显式声明属性冲突的问题咨询
递归类型中动态属性与显式声明属性冲突的问题咨询
大家好,我在TypeScript里定义了一个递归类型,其中name和subRows是特定类型,其他所有属性都要求是数字或者null,类型声明如下:
type Row = { name: string subRows: Row[] } & { [key: string]: number | null }
这个类型在只有第一层级的时候用着完全没问题,但一旦嵌套到第二层级就会抛出TS错误(错误码2322),比如我写下面这段代码的时候,subRows里的对象就会报错:
const a: Row[] = [{ name: 'aaa', a: 1, b: 2, subRows: [ { /* 这里触发TS Error 2322 */ } ] }]
有没有大佬能帮忙看看这是怎么回事,该怎么解决这个问题呀?
备注:内容来源于stack exchange,提问作者skyboyer
相关产品推荐
相关产品推荐

