React Typescript generics - тип «unknown» не может быть назначен типу «number» - PullRequest
0 голосов
/ 18 апреля 2020

Я уверен, что мне не хватает ключевой концепции, но я не могу понять, что именно.

У меня есть компонент React HorizontalSelector, чьи реквизиты имеют тип SelectorProps<T>, определяемый как

interface SelectorProps<T> {
  convert: (value: T[]) => T[];
}

Я потребляю компонент следующим образом.

...

export function kgsToLbs(value: number[]): number[] {
  const ONE_KG_IN_POUNDS = 2.20462;
  return value.map(val => val / ONE_KG_IN_POUNDS);
}

const props:SelectorProps<number> = {
  convert: kgsToLbs
}

<HorizontalSelector {...props}>

...

к сожалению, я получаю эту ошибку

Type '{ calculate: (value: number[]) => number[]; }' is not assignable to type 'HorizontalSelectorProps<unknown>'.
  Types of property 'calculate' are incompatible.
    Type '(value: number[]) => number[]' is not assignable to type '(value: unknown[]) => unknown[]'.
      Types of parameters 'value' and 'value' are incompatible.
        Type 'unknown[]' is not assignable to type 'number[]'.
          Type 'unknown' is not assignable to type 'number'.

Не знаю, что с этим делать. Если кто-нибудь может помочь мне понять причины этой ошибки, это будет высоко оценено.

...