TS2345错误-X类型的参数不能分配给X类型的参数

时间:2020-07-07 21:35:20

标签: typescript react-tsx

export default class Foo {
  first: string;
  second: X[];
}

export function parse(foo?) {
  if(foo) {
    return Builder<Foo>(Foo)
      .first(foo.first || "")
      .second(XFunctions.parse(foo.second.map(second => XFunctions.parse(second))))
      .build();
  }

我收到如上所述的错误:“类型X的参数不能分配给类型X []的参数”

这是我的X类的代码:

export default class X {
  first: string;
  second: string;
  third: string;
  fourth: boolean
}

export function parse(x?) {
  if(x) {
    return Builder<X>(X)
      .first(x.first || "")
      .second(x.second || "")
      .third(x.third || "")
      .fourth(x.fourth)
      .build();
  }
  return Builder<X>(X)
    .first("")
    .second("")
    .third("")
    .fourth(true)
    .build();
}

我认为使用map()会进行跟踪,因为它将遍历X []中的每个元素,将解析函数应用于每个元素,但是我一定误会了它的工作原理。我知道此错误是一个常见问题,如果另一个问题我没有看到更好的答案,我会向您道歉。

0 个答案:

没有答案