Cordova-路由在React Application中不起作用

时间:2018-11-20 01:16:38

标签: android reactjs cordova mobile hybrid-mobile-app

我有一个现有的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“平台工具”“平台; android-27”
  • 在Android Studio中添加了模拟器

APP准备和启动:

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 

在仿真器和真实设备上的结果相同。路由工作不正常,而其他所有东西似乎都正确放置。

1 个答案:

答案 0 :(得分:0)

如果您在项目中使用<Router>,请将其更改为<HashRouter>,否则您将看到空白显示,因为屏幕上没有任何内容。适用于iOS和Android。

来源:

https://stackoverflow.com/a/46785362/3850405