目前组件有三个:Login、Home、NoMatch404
预期:访问:localhost:3000时自动跳到Login,登录成功自动跳到Home,如果输入localhost:3000/aaa应该跳到NoMatch404
问题:所有跳转都被NoMatch404拦截了,请问该如何配置NoMatch404组件
路由配置代码如下
import React from 'react'
import { HashRouter, Route, Switch, Redirect} from 'react-router-dom'
import App from './App'
import Login from './pages/login'
import Admin from './admin'
import Home from './pages/home';
import NoMatch404 from './pages/nomatch/index404'
export default class ERouter extends React.Component{
render(){
return (
<HashRouter>
<App>
<Switch>
<Route path="/login" component={Login}/>
<Route component={NoMatch404}/>
<Route path="/" render={()=>
<Admin>
<Switch>
<Route path='/home' component={Home} />
<Redirect to="/home" />
</Switch>
</Admin>
} />
</Switch>
</App>
</HashRouter>
);
}
}
APP组件代码
import React, { Component } from 'react';
import './App.css';
class App extends Component {
render() {
return (
<div>
{this.props.children}
</div>
);
}
}
export default App;
Admin组件代码
import React from 'react'
import { Row,Col } from 'antd';
import Header from './components/Header'
import Footer from './components/Footer'
import { connect } from 'react-redux'
import NavLeft from './components/NavLeft'
import './style/common.less'
import Home from './pages/home'
class Admin extends React.Component{
render(){
return (
<Row className="container">
<Col span="4" className="nav-left">
<NavLeft/>
</Col>
<Col span="20" className="main">
<Header/>
<Row className="content">
{this.props.children}
</Row>
<Footer/>
</Col>
</Row>
);
}
}
export default connect()(Admin)
问题:目前所有跳转都被NoMatch404拦截了,请问该如何配置NoMatch404组件
将404路由放在最后