我在当前项目中使用React Router:
const store = Redux.createStore(bomlerApp);
const App = React.createClass({
render() {
return (
React.createElement('div', null,
this.props.children
)
)
}
})
var rootElement =
React.createElement(ReactRedux.Provider, {store: store},
React.createElement(ReactRouter.Router, {history: ReactRouter.browserHistory},
React.createElement(ReactRouter.Route, { path: '/', component: App },
React.createElement(ReactRouter.IndexRoute, { component: Home })
)
)
)
ReactDOM.render(rootElement, document.getElementById('react-app'));
这不起作用。该应用根本不会呈现,我也没有收到任何错误消息。
但是,如果我使用ReactRouter.hashHistory,则应用程序可以运行。
我在这里不理解什么?
答案 0 :(得分:0)
服务器配置:浏览器历史记录设置可以生成实时 在不重新加载页面的情况下查找urL。但是如果用户会发生什么 深层嵌套urL上的刷新或书签?这些url是 在浏览器上动态生成;他们不符合真实 服务器上的路径,因为任何urL将始终命中服务器 第一个请求,它可能会返回一个找不到错误的页面。
要实施浏览器历史记录设置,您需要导入 历史库中的createBrowserHistory方法。那你可以 调用它,将生成的浏览器历史记录配置作为 路由器组件的历史支柱
***指要使用浏览器历史记录设置,您需要进行重写
服务器上的配置,所以当用户点击/ some-path时 浏览器,服务器将服务于反应路由器所在的索引页面 渲染正确的视图。***