首页 > 编程语言 >视频直播app源码,react 编程式导航实现页面跳转

视频直播app源码,react 编程式导航实现页面跳转

时间:2022-11-17 14:36:02浏览次数:82  
标签:app 跳转 react 源码 props history 页面

视频直播app源码,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/>);

以上就是视频直播app源码,react 编程式导航实现页面跳转, 更多内容欢迎关注之后的文章

 

标签:app,跳转,react,源码,props,history,页面
From: https://www.cnblogs.com/yunbaomengnan/p/16899354.html

相关文章

  • 基于Gradle的Spring源码下载及构建技巧
    基于Gradle的Spring源码下载及构建技巧1Spring5源码下载首先你的JDK需要升级到1.8以上版本。从Spring3.0开始,Spring源码采用GitHub托管,不再提供官网下载链接。这里不......
  • 直播app源码,js 如何选取dom元素的全部文本
    直播app源码,js如何选取dom元素的全部文本使用js选取dom中的全部文本 select_text:function(element){   if(!element)return    varselection=windo......
  • Spring上下文ApplicationContext工具类
    importorg.springframework.beans.BeansException;importorg.springframework.context.ApplicationContext;importorg.springframework.context.ApplicationContextAw......
  • React-App环境搭建和项目启动
    node环境>=14.0.0npm环境>=5.6安装create-react-app:npmi-gcreate-react-app(cnpm/yarn)创建项目:create-react-appreact-project(项目名称)进入项目根目录:cdreact-p......
  • openjdk11源码编译调试
    一源码二系统工具macOSBigSur11.5.2Xcode12.5.1openjdk11.0.11Make3.81autoconf(GNUAutoconf)2.71Appleclangversion12.0.5(clang-1205.0.22.11)c......
  • Android > Project with path ‘:audiovisualize‘ could not be found in project ‘:
    博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,......
  • JAVA课程设计(附源码)
    Java课程设计选题Java课程设计说明本次课程设计的目的是通过课程设计的各个项目的综合训练,培养学生实际分析问题、编程和动手能力,提高学生的综合素质。本课程设计尝试使......
  • C++学习------cstdint头文件的源码学习01---类型定义
    引言cstdint头文件是C++对stdint头文件的封装,这个头文件定义了一系列特定长度的类型别名,一系列值的上下限,以及一系列类型转换的宏。我们一起来看看它的内部实现。代码参考:......
  • Netty源码-05-EventLoop
    前文已经了解过了NioEventLoopGroup和NioEventLoop在Netty中是用的是Reactor线程模型(IO多路复用器+多个线程),真正处理业务流程的worker线程都是单个线程,一个线程处理多个......
  • Netty源码-06-MpscQueue
    在IO线程NioEventLoop中维护了一个队列实现,用于存放非IO任务,一个IO线程负责N个Channel,为了保证一个线程贯穿始终负责一个Channel的所有任务(任务执行次序有先后区分需要),因......