leiyanting

导航

 
import React, { Component } from 'react'
import MyNavLink from '../../components/MyNavLink'
import {Route,Switch,Redirect} from 'react-router-dom'
import News from './News'
import Message from './Message'

export default class Home extends Component {
    render() {
        return (
                <div>
                    <h3>我是Home的内容</h3>
                    <div>
                        <ul className="nav nav-tabs">
                            <li>
                                {/* 开启了replace模式 */}
                                <MyNavLink replace to="/home/news">News</MyNavLink>
                            </li>
                            <li>
                                {/* 开启了replace模式 */}
                                <MyNavLink replace to="/home/message">Message</MyNavLink>
                            </li>
                        </ul>
                        {/* 注册路由 */}
                        <Switch>
                            <Route path="/home/news" component={News}/>
                            <Route path="/home/message" component={Message}/>
                            <Redirect to="/home/news"/>
                        </Switch>
                    </div>
                </div>
            )
    }
}

router.push(location)
想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL
当你点击 时,这个方法会在内部调用,所以说,点击 等同于调用 router.push(…)。

replace模式是替换模式,会替换掉栈顶的路由
设置 replace 属性的话,当点击时,会调用 router.replace() 而不是 router.push(),于是导航后不会留下 history 记录。即使点击返回按钮也不会回到这个页面。

开启方法:

<Link replace={true} to="/about">About</Link>

 

posted on 2022-01-11 09:37  leiyanting  阅读(454)  评论(0编辑  收藏  举报