Реагируйте на родной машинописный текст. Проверка нерабочего типа - PullRequest
0 голосов
/ 17 марта 2020

Я работаю над RN с Typescript. С помощью официальной инструкции мне удалось добавить файл .tsx и .ts, но основная проблема, с которой я столкнулся, заключается в том, что RN вообще не обнаруживает неправильные типы в файлах. Например,

В начале App.tsx я добавил неправильный оператор TS.

let a: number = 5;
a = "test"

Когда я добавил его в стандартное приложение React (для веб-сайтов), компилятор TS показывает мне

Тип «тест» не может быть назначен типу «число». TS2322

Но когда я сделал то же самое в случае с RN, он просто компилировался и не показывал никаких предупреждений / ошибок и т. Д. c. Приложение просто запускается на эмуляторе, как будто все в порядке.

Это первый раз, когда я пытаюсь использовать RN с Typescript. Раньше я использовал только WEB-приложения + машинопись, так почему я задаюсь вопросом, правильно ли такое поведение? Как я могу включить проверку типов в случае с React native?

PS Я даже попробовал этот . То же поведение.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 18 марта 2020

Я потратил почти весь день, чтобы найти решение, и похоже, что шаблон машинописи RN не поддерживает проверку типов из коробки. Что касается их официальной документации , используйте команду ts c для проверки типов , это означает, что мы обычно должны проверять типы только перед фиксацией, и т.д. c. (может быть сделано с помощью некоторых хуков предварительной фиксации, таких как хаски)

Но так как мы можем использовать tsc, мы также можем использовать watchMode

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

// package.json
"scripts": {
    "android:ts-watch": "concurrently \"yarn check-types:watch\"  \"react-native run-android\"",
    "check-types": "tsc",
    "check-types:watch": "tsc --watch"
 }

Предупреждение . Вам нужно установить одновременно пакет, если вы хотите скопировать и вставить этот скрипт.

PS К сожалению, предупреждения об ошибках в консоли не имеют цветов (красный и т. Д. c.), Поэтому это может быть неприятно, но в любом случае это гораздо лучше, чем вообще не проверять тип во время выполнения.

Если кто-то найдет более правильный путь, пожалуйста, дайте мне знать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...