Почему поток в коде VS дает два определения типов для моей функции React?

#reactjs #visual-studio-code #flowtype

Вопрос:

Я использую Flow и React для создания статического приложения Azure в коде VS. Приложение работает, но меня смущают определения типов моих функций. Я создал небольшой пример в файле с аннотацией //@flow strict

 function WhyMismatch(): React.MixedElement {  return lt;h1gt;lt;/h1gt; }  

Пожалуйста, обратитесь к этому изображению. Код выдает следующие две подписи типов в пользовательском интерфейсе.

  • function WhyMismatch(): any
  • () =gt; MixedElement

Обратите внимание на два определения. Почему в первом списке тип возвращаемого значения указан как any ? Я применил неверный тип возврата или что-то неправильно сконфигурировал?

Ответ №1:

Одним из них является определение машинописного текста, поскольку vscode и TS поставляются корпорацией Майкрософт, они в основном встроили TS intellisense прямо в приложение. Вы можете отключить его в настройках, но в этом действительно нет необходимости, и обычно вы можете определить, что есть что.

В вашем случае тот, который говорит function(): any , что это TS, потому что он не понимает React.MixedElement

Комментарии:

1. Спасибо вам за ясное объяснение.

2. Всегда пожалуйста! Не забудьте отметить ответ как решение, чтобы люди знали, что на него получен ответ. И если у вас есть еще какие-либо вопросы по flowtype, вы также можете связаться с discord 🙂