react-router 未匹配

1.Redirect 匹配当前地址时,重定向到另外一个地址


import React, { Component } from 'react';
import {
    BrowserRouter as Router,
    Route,
    Link,
    Switch,
    Redirect,
} from 'react-router-dom';

const Home = ()=> (
    <div>
        { 'A <Switch> renders the first child <Route> that matches. A <Route> with no path always matches.'}
    </div>
)

const WillMatch = ()=> (
    <div>
        matched!
    </div>
)
const NotMatch = ({ location })=> (
    <div>
        <h3>No Match for { location.pathName }</h3>
    </div>
)
class UnMatched extends Component {
    constructor(props){
        super(props);
        this.state = {

        }
    }
    render() {
        return (
            <Router>
                <div>
                    <ul>
                        <li><Link to='/'>Home</Link></li>
                        <li><Link to='/old-match'>Old Match,to be redirected</Link></li>
                        <li><Link to='/will-match'>Will Match</Link></li>
                        <li><Link to='/will-not-match'>Will Not Match</Link></li>
                        <li><Link to='/also-will-not-match'>Also Will Not Match</Link></li>
                    </ul>
                    <Switch>
                        <Route exact path='/' component={ Home } />
                        <Redirect from='/old-match' to='/will-match' />
                        <Route path='/will-match' component={ WillMatch } />
                        <Route component={ NotMatch }/>
                    </Switch>
                </div>
            </Router>
        )
    }
}

export default UnMatched;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值