cordova - react 路由器和 Cordova 不工作

React-router 似乎无法处理任何通过本地文件协议(protocol)运行的内容。

它将 file://之后的第三个斜杠解释为路由。

因此,如果您创建一个应用程序并尝试从 file:///C:/myapp.html 运行它

它认为您正在尝试访问路由/C:/myapp.html 并抛出错误提示

“警告:位置“/C:/myapp.html”不匹配任何路由。

当通过文件协议(protocol)提供应用程序时,有没有办法让 react-router 工作?

截至目前,路由器根本无法与 cordova/phonegap 一起工作,因为它们将所有内容都作为本地文件提供。

最佳答案

BrowserHistory 似乎不能与文件协议(protocol)一起使用。

https://github.com/rackt/react-router/issues/2639

HashHistory 似乎有效,我想你可以试一试吗?

// import createBrowserHistory from 'history/lib/createBrowserHistory';
import createHashHistory from 'history/lib/createHashHistory';

// let history = createBrowserHistory();
let history = createHashHistory();

ReactDOM.render(
  <Router history={history}>
    <Route path='/' component={YourComponent} />
  </Router>,
  document.querySelector('#your-app-wrapper')
);

关于cordova - react 路由器和 Cordova 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34079549/

相关文章:

php - 编译PHP7错误

scala - 收集和计数操作之间有什么区别?

solr - 使用身份验证在控制台中创建 Solr 核心

php - 使用 Prestashop 1.6 在模块中获取产品类别名称

c# - 还有其他更好的方法可以将参数传递给 backgroundworker runasync 吗

haskell - 在 Haskell 中创建一个简单的数组

git - "git clone"是否创建一个完全相对的目录?

css - 输入内的响应式 fa-icon

c++11 - 向量的分段平方,C++ Eigen 中两个向量的分段乘积

c# - wpf - Expander 的标题适合内容宽度?