Приведение параметров анонимной функции - PullRequest
0 голосов
/ 12 марта 2020

У меня есть функция внутри реагирования (с использованием машинописи), где компонент контейнера передает переменные дочернему компоненту. Переменные являются функциями. Однако, когда я передаю их, я получаю ошибку «noImplicitAny». zoomIn и zoomOut являются функциями, а остальные выглядят как массив. Как мне назначить тип для zoomIn, zoomOut и ... rest?

<TransformWrapper>
  {({ zoomIn, zoomOut, ...rest }) => (
    <TransformComponent>
      <Something onClick={zoomIn} />
     <TransformComponent/>
   )}

1 Ответ

1 голос
/ 12 марта 2020

Тип функции может быть Function для соответствия любой функции, но лучше указать параметры и типы возвращаемых значений следующим образом:

myFunc: (p1: type1, p2: type2) => returnType

В случае что-то вроде zoomIn это, вероятно, () => void.

Что касается rest, вы можете установить тип как any[], хотя может быть и лучший тип - это неясно из предоставленного ограниченного примера кода. Помните, что ошибка «no implicit any», то есть вы можете сделать ее явной any, если хотите.

...