У меня есть приложение React, и я пытаюсь перенести его на iOS и Android.
Мне удалось запустить приложение на iOS, просто изменив обычные маршруты на хеш-маршруты.
import { createBrowserHistory, createHashHistory } from 'history';
import { IS_HYBRID_APP, IS_PROD } from 'utils/environment';
export const history = window.cordova ? createHashHistory() : createBrowserHistory();
const connectRouterHistory = connectRouter(history);
Этот подход не работал на Android, хотя. Навигация не работает.
Любой совет?
КОНТЕКСТ:
Шаги, которые я сделал:
НАСТРОЙКА ОКРУЖАЮЩЕЙ СРЕДЫ:
npm install -g cordova
- Установленная Java 8 (версии больше 8 не поддерживаются)
- Установленная Android Studio
- Добавлены JAVA_HOME, ANDROID_HOME и GRADLE_HOME в мой PATH
- добавлен эмулятор в путь
- Установил правильный sdk, выполняя: sdkmanager «platform-tools» «платформы; android-27»
- Добавлен эмулятор в Android Studio
ПРИГОТОВЛЕНИЕ И ЗАПУСК ПРИЛОЖЕНИЯ:
npm install
cordova platform add android
rm -rf www
react-app-rewired build
// vvv - injects the cordova script and the CSP meta tags into build/index.html
node config/hybrid-app-build.js
mv build www
cordova start android
Одинаковый результат как на эмуляторе, так и на реальном устройстве. Маршрутизация не работает должным образом, в то время как все остальное кажется правильно на месте.