#react-native #flowtype
#react-native #тип потока
Вопрос:
Я запустил новый проект React Native с expo init
, используя tabs
шаблон; а затем следовал инструкциям на https://flow.org/en/docs/install / для запуска Flow, в том числе yarn run flow init
.
Когда я запускаю yarn run flow
в первый раз, я получаю предупреждения VS Code о том, что у сервера неправильная версия, и еще одно предупреждение под ним, о том, что сервер остановился. Когда я печатаю эти предложения, эти два предупреждения исчезают и появляются снова и снова.
Вот странная вещь. Вот мой файл .flowconfig.
[ignore]
[include]
[libs]
[lints]
[options]
[strict]
В конце нет номера версии, вообще ничего.
Когда я запускаю yarn run flow
снова, он не выдает ошибок, что хорошо, хотя это также имеет смысл, потому что моя src
папка пуста.
Предупреждения дают мне варианты restart client
или restart
. Давайте посмотрим:
Перезапуск запуска клиента yarn run flow
: запускает новый сервер, который выдает то же предупреждение в VS code, что это неправильная версия, предупреждение исчезает и появляется снова и снова. То же самое происходит, когда я нажимаю «перезапустить» вместо «перезапустить клиент»
Я использую flow в первую очередь (сначала, прежде чем использовать его сам) для импорта части кода F8 из makeitopen.com . Я копирую [F8Stylesheet.js][1]
из репозитория F8 в свою src
папку. Под аннотациями типов появляются красные строки, говорящие о том, что типы могут использоваться только в файле ts (я установил языковую поддержку Flow) расширение.
При запуске yarn run flow
я получаю колоссальные 188 ошибок! Я скопировал только ОДИН файл из репозитория F8, и ошибки исходят из файлов типа node_modules/react-native/Libraries/Components/Switch/SwitchNativeComponent.js
, у которых не было проблем, пока я не вставил этот файл.
Кстати, вот мой файл package.json:
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject",
"test": "node ./node_modules/jest/bin/jest.js --watchAll",
"build": "babel src/ -d lib/",
"prepublish": "yarn run build"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@expo/samples": "2.1.1",
"expo": "^32.0.0",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
"react-navigation": "^3.0.9"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-expo": "^5.0.0",
"babel-preset-flow": "^6.23.0",
"flow-bin": "^0.95.1",
"jest-expo": "^32.0.0"
},
"private": true
}
Есть где-нибудь помощь? Спасибо.