繁体   English   中英

react-router中的浏览器历史记录

[英]Browser history in react-router

为什么在我的React应用程序中使用browserHistory ,它仍然在localhost:3000上提供一个页面,但是在部署它时,我得到的是一个空白页面,控制台中没有任何内容。

但是,当我切换到hashHistory时,它可以在localhost:3000和我的站点上正常运行。 为什么会这样呢?

部署(使用browserHistory)时,以下代码不起作用:

import React from 'react';
import { Router, Route, IndexRoute, browserHistory } from 'react-router';

import App from './components/App';
import Home from './components/Home';
import Company from './components/Company';

const router = (
    <MuiThemeProvider>
        <StyleRoot>
            <Router history={browserHistory}>
                <Route path="/" component={App}>
                    <IndexRoute component={Home} />
                    <Route path="/company" component={Company} />
                </Route>
            </Router>
        </StyleRoot>
    </MuiThemeProvider>
)

ReactDOM.render(
    router,
    document.getElementById('root')
);

我正在使用v3.0作为react-router。

首先,您使用的是哪个版本的React Router? 在版本4中,您需要创建BrowserHistory的实例,而不仅仅是传递类。

您可能将空白页面作为路由错误的后备页面。 检查浏览器的控制台中是否有错误消息。 你应该得到一个缺省路由的http://本地主机:3000 / BADURL<Home>HTTP://本地主机:3000<App><Company>作为一个this.props.children 的http://本地主机:3000 /公司

您可以使用<Route path="*" component={NotFoundPage} />将空白页面替换为404页面。

如果这些帮助都没有,请用更多信息更新问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM