Как определить тип возвращаемого значения React FunctionalComponent в определении TypeScript - PullRequest
0 голосов
/ 22 апреля 2020

Я получаю следующую ошибку при запуске tsc --strict:

Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.

Возможно, я неверно определяю тип, но нигде не могу найти, как это сделать правильно. Я посмотрел на тип React.FC, и я понимаю, что это псевдоним React.FunctionComponent, который заставляет его наследовать возвращаемое значение ReactElement. Так что в моем понимании это должно работать или, по крайней мере, не должно быть implicit any. Ниже моего определения типа и компонента.

Я использую нотацию JSdo c для проверки моих файлов JS с определениями машинописи. Обозначение выглядит так:

/**
 * LoadingIndicator - Just a simple loading spinner..
 *
 * @type LoadingIndicator { import("../../types/index.d.ts").LoadingIndicator }
 */

Мой экспортированный тип в index.d.ts:

export const LoadingIndicator: React.FC<LoadingIndicatorProps>;

Мой функциональный компонент:

const LoadingIndicator = ({ size = 15, color = '#006CFF' }) => (
    <div
      className={'loading-indicator ' + color}
      style={{ width: size, height: size }}
    >
    </div>
  );

1 Ответ

1 голос
/ 22 апреля 2020

Пожалуйста, попробуйте таким образом

const LoadingIndicator: React.FC<LoadingIndicatorProps> = ({ size = 15, color = '#006CFF' }) => (
  <div
    className={'loading-indicator ' + color}
    style={{ width: size, height: size }}
  >
  </div>
);
...