【问题标题】:Argument of type 'string | VNode' is not assignable to parameter of type 'VNode & string''string | 类型的参数VNode'不可分配给'VNode & string'类型的参数
【发布时间】:2020-03-24 23:27:00
【问题描述】:

好吧,我可能错了,但请帮帮我, 我收到此错误

'string | 类型的参数VNode' 不可分配给'VNode & string' 类型的参数。 类型 'string' 不可分配给类型 'VNode & string'。 类型“字符串”不可分配给类型“VNode”。

当我尝试这样做时

addChild(child: VNode | string) {
    this._children.push(child);
    return 1
}

VNode接口是这样的

interface VNode {
readonly _tagName: string;
_attrs: {};
_children: VNode[] | string[];
 }

我最近转到了 TS,我可能错了,但请帮帮我....

【问题讨论】:

  • _children: (VNode | string)[]

标签: typescript


【解决方案1】:

您为 _children 属性键入的内容似乎错误,您希望它是 Array OF VNode OR string 而不是 Array OF string OR Array OF VNode

interface VNode {
  readonly _tagName: string;
  _attrs: {};
  _children: Array<VNode | string>;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-02
    • 2021-07-02
    • 1970-01-01
    • 2021-09-06
    • 2021-10-06
    • 2020-04-15
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多