react-router 路由配置去掉url上的#号且刷新子页面请求404处理

react-router 路由配置上的url的#号

具体处理方式详见:
使用React-router时如何去掉url上的#号

将router.js中的hashHistory改为browserHistory

此时url上的#号虽然处理,但是刷新子页面时会显示404

直接向服务器请求某个子路由,会显示网页找不到的404错误

具体处理方式详见:
刷新子页面请求404处理

import React from 'react';
import { Router, Route, Switch } from 'react-router-dom';
import { Layout, Login } from './pages'; //导入页面

import { createBrowserHistory } from 'history';
const browserHistory = createBrowserHistory()

const BasicRoute = () => (
    <Router history={ browserHistory }>
        <Switch>
            <Route exact path="/Login" component={ Login }/>
            <Route path="/Index" component={ Layout }/>
        </Switch>
    </Router>
);


export default BasicRoute;

综上所述
第二种方法既能解决url上的#号和刷新子页面请求会404两个问题,第二种方法优先

你可能感兴趣的:(React)