用browserHistory替换hashHistory时出错:react

时间:2016-10-29 06:21:55

标签: reactjs electron

我是新手,我正在使用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?

2 个答案:

答案 0 :(得分:2)

这个答案对你来说可能有点迟了,但万一有人想知道,这里也是。

如果要使用browserHistory而不是hashHistory,则需要配置服务器,以便它可以处理您传递的URL。这是一个解释每个工作原理的链接,它也可以为您提供有关如何配置服务器以处理网址的线索:https://github.com/ReactTraining/react-router/blob/master/docs/guides/Histories.md

答案 1 :(得分:0)