我是新手,我正在使用this boilerplate来创建应用。
我想使用browserHistory而不是hashHistory,所以我对/app/index.js
进行了这些更改:
// @flow
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore, combineReducers } from 'redux';
import { Router, browserHistory } from 'react-router';
import { syncHistoryWithStore, routerReducer } from 'react-router-redux';
import routes from './routes';
import configureStore from './store/configureStore';
import './app.global.css';
const store = createStore(
combineReducers({
routing: routerReducer
})
);
const history = syncHistoryWithStore(browserHistory, store);
ReactDOM.render(
<Provider store={store}>
<Router history={history} routes={routes} />
</Provider>,
document.getElementById('root')
);
我收到了这个警告:
Warning: [react-router] Location "/home/cortana/Projects/JSProjects/gobbledigook/app/app.html" did not match any routes
并没有显示路线描述的页面。这里缺少什么以及我需要做些什么才能删除hashHistory并在此应用中使用browserHistory?
答案 0 :(得分:2)
这个答案对你来说可能有点迟了,但万一有人想知道,这里也是。
如果要使用browserHistory而不是hashHistory,则需要配置服务器,以便它可以处理您传递的URL。这是一个解释每个工作原理的链接,它也可以为您提供有关如何配置服务器以处理网址的线索:https://github.com/ReactTraining/react-router/blob/master/docs/guides/Histories.md
答案 1 :(得分:0)