Я создал новый проект React Native с шаблоном машинописного текста, используя официальную команду react-native init MyApp --template typescript (пару раз), и я не вижу изменений, которые я применяю при запуске приложения.
Похоже, что горячая перезагрузка работает с точки зрения обновления экрана, но не применяет изменения. В случае, если я создаю приложение без машинописного текста, все работает правильно.
Я не получаю никаких ошибок, поэтому я понятия не имею, что я могу сделать. Ниже находится package.json на случай, если это поможет, но в основном это автоматически сгенерированный файл из typescript template.
{
"name": "MyApp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.6.3",
"react-native": "0.58.4"
},
"devDependencies": {
"@types/jest": "^24.0.0",
"@types/react": "^16.8.2",
"@types/react-native": "^0.57.34",
"@types/react-test-renderer": "^16.8.0",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "24.1.0",
"jest": "24.1.0",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3",
"ts-jest": "^23.10.5",
"typescript": "^3.3.3"
},
"jest": {
"preset": "react-native"
}
}
tsconfig.json
{
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"isolatedModules": true,
"jsx": "react",
"lib": ["es6"],
"moduleResolution": "node",
"noEmit": true,
"strict": true,
"target": "esnext"
},
"exclude": ["node_modules", "babel.config.js"]
}
Любая идея, как я могу заставить реагировать на работу с машинописным текстом. Спасибо!





Я нашел решение, и в основном, когда вы создаете приложение реагировать нативноe, используя шаблон машинописного текста в ./ вашего проекта, появляются 2 файла с именем App (App.js и App.tsx), поэтому в основном решение для того, чтобы эта работа заработала, идет к index.js и заменить
import App from './App';per importApp from './App.tsx';
index.js
import {AppRegistry} from 'react-native';
import App from './App.tsx';
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => App);
Также вы можете решить проблему, удалив файл .js, чтобы индекс указывал на файл .тс.
Похоже, вы не выполнили сценарий установки после установки, который удаляет файл App.js. В любом случае, в этом больше нет необходимости, поскольку с выпуском React Native 0.59 сценарий установки после установки выполняется автоматически.