Мой упрощенный блок кода выглядит следующим образом

interface A {
    val: string;
    // Other optional parameters
}

function usingObject(obj: A) {
    return obj.val
}

function usingVal(val: Pick<A, 'val'>) {
    return usingObject({ val })
}

Я получаю следующую ошибку

Type 'Pick<A, "val">' is not assignable to type 'string'.ts(2322)

Я хочу функцию, которая может принимать объект и другие функции, которые принимают каждый обязательный параметр в качестве аргумента

0
Neo 15 Фев 2020 в 01:39

2 ответа

Лучший ответ

Возможно, нам следует больше узнать о вашей usingObject реализации, но у меня сработало следующее:

function usingVal(val: Pick<A, 'val'>) {
  return usingObject(val)
}
1
Jose Guzman 14 Фев 2020 в 22:47