react-router和cordova无法正常工作

use*_*002 2 file-uri cordova react-router

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

它将file://后面的第三个斜杠解释为路径.

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

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

"警告:位置"/C:/myapp.html"与任何路线都不匹配.

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

截至目前,路由器根本无法使用cordova/phonegap,因为它们将所有内容都作为本地文件提供.

Flo*_*ild 6

似乎BrowserHistory不能与文件protocole一起使用.

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'));
Run Code Online (Sandbox Code Playgroud)