react 编程式导航实现页面跳转

一 介绍

编程式导航: 通过js代码来实现页面跳转

案例:点击登录按钮,登录成功后,通过代码跳转到后台首页,如何实现?

答:
props.history.push("./home")
props.history.go(-1)
    history:是react路由提供的,用来获取 浏览器历史记录的相关信息.
    push(path):跳转到某个页面,参数path表示要跳转的路径
    go(n):返回某个页面,参数n表示前进或后退页面数量(-1表示后退一页)

二 代码

import React from "react";
import {createRoot} from 'react-dom/client';
//导入路由的核心组件
import {HashRouter, BrowserRouter as Router, Route, Link} from "react-router-dom"

class App extends React.Component {
    render() {
        return (
            <Router>
                <h2>编程式导航app</h2>
                <Link to="/login">去登录页面</Link>
                <Route path="/login" component={Login}></Route>
                <Route path="/home" component={Home}></Route>
            </Router>
        )
    }
}

class Login extends React.Component {
    fn = () => {
        this.props.history.push("./home")
    }

    render() {
        return (
            <div>
                <h2>这是登录页面</h2>
                <button onClick={this.fn}>登录</button>
            </div>
        )
    }
}

const Home = (props) => {
    const back=()=>{
        //go(-1)表示返回上一个页面
        props.history.go(-1);
    }
    return(

        <div>
            <h2>我是后台首页</h2>
            <button onClick={back}>返回登录页面</button>
        </div>
    )
}

createRoot(document.getElementById('root')).render(<App/>);

效果

 点击链接 "去登录页面" →  展示 登录页面

 点击 登录页面的 登录按钮 → 展示后台首页

 点击后台页面的 返回按钮 → 返回登录页面

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值