反应路由器和科尔多瓦不工作

Posted

技术标签:

【中文标题】反应路由器和科尔多瓦不工作【英文标题】:react-router and cordova not working 【发布时间】:2016-03-08 20:48:28 【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

【参考方案1】:

BrowserHistory 好像不能和文件协议一起使用。

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')
);

【讨论】:

Hashhistory 运行良好 - 合并到我的构建脚本中 谢谢,伙计。很大的帮助

以上是关于反应路由器和科尔多瓦不工作的主要内容,如果未能解决你的问题,请参考以下文章

反应路由器链接不工作

反应路由器dom不工作

反应路由器不工作链接到标签

反应路由器不工作

构建应用程序后反应路由器不起作用

使用反应路由器 V6 和刷新页面时我得到空白页面