反应路由器和科尔多瓦不工作
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 运行良好 - 合并到我的构建脚本中 谢谢,伙计。很大的帮助以上是关于反应路由器和科尔多瓦不工作的主要内容,如果未能解决你的问题,请参考以下文章