首页 > 数码 正文

路由及react react如何跳转路由器

时间:2023-09-27 作者:佚名

参考资料: https://reacttraining.com/react-router/web/api

npm install --save react-router-dom引入 import {BroswerRouter as Router, Route, Switch, Link} from 'react-router-dom'

// 定义Route2-1 通过component的方式引用组件 2-2 通过render方式引用组件 }>

路由参数传递

第一种: 通过路径传递参数, 通过 props.match.params.key 获取参数

?代表可选参数的意思, 传不传递都可以

第二种: 通过 new URLSearchParams(props.localtion.search).get(key) 获取参数

const params = new URLSearchParams(props.location.search)const name = params.get('name')console.log(name)

第三种: 通过querystring传递参数

const qs = require('querystring')const params = qs.parse(props.location.search)console.log(params)// 输出结果: 前面有个问号需要自己处理// {?name: "mystic", age: "123"}

router-link Object

mine

重定向

Redirect使用场景: 注册登录跳转首页 基本使用

import {Redirect} from 'react-router-dom'

push和replace

push: 叠加路径, 可以返回 replace: 替代路径

import React from 'react'const Mine = (props) => { console.log(props) const back = () => { props.history.push('/') } const replaceBack = () => { props.history.replace('/') } return ( Mine: id-{props.match.params.id} )}export default Mine

高阶组件withRouter使用

作用: 可以让一个没有被路由对象管理组件拥有路由对象

import React from 'react'import {withRouter} from 'react-router-dom'class MineDemo extends React.Component { click() { console.log(this.props) } render() { return ( ) }}export default withRouter(MineDemo)// 结果: {history: {…}, location: {…}, match: {…}, staticContext: undefined}

Prompt组件

应用场景: 在输入框存在内容进行页面跳转的时候, 会给用户一个是否确认离开的提示, 避免错误操作 两个参数:

when: boolean message: 提示信息

import React from 'react'import {Redirect, Prompt} from 'react-router-dom'export default class Demo extends React.Component { constructor(props) { super(props) this.state = { name: "" } } render() { return (

name: this.setState({name: e.target.value}) } /> ) }}

本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。

本文链接:https://www.paituo.cc/tech/1058537.html

  • 小编推荐

    小米12Pro性能提升了什么以及对比之前的机型性能提升了多少倍

    本文讲述小米12Pro性能提升了什么以及对比之前的机型性能提升了多少倍,简介如下 小米12Pro这是小米最新推出的一款标准的高端性能的旗舰手机,可以为用户提供很好的手机颜值的同时,带来很好的手机性能体验,那么这次的手机提升了多少? 小米12...

    2022年上半年值得入手的天玑9000的手机以及哪些天玑9000的手机可以入手

    本文讲述2022年上半年值得入手的天玑9000的手机以及哪些天玑9000的手机可以入手,简介如下 今天小编为大家带来准备了一些比较好用的天玑9000系列的手机,这些手机不仅仅为用户提供很好的颜值,同时为用户提供很好的性能体验,为用户提供更低的功耗,那么有哪...

    哔哩哔哩怎么参与直播嘉年华活动教程

    本文讲述哔哩哔哩怎么参与直播嘉年华活动教程,简介如下 哔哩哔哩推出了嘉年华活动,参与这里的直播嘉年华活动,就可获得丰富的直播奖励,想知道该如何参与的话,就和小编接着看下去吧。哔哩哔哩参与直播嘉年华活动教程 1、打...

    如何解决Win10系统麦克风声音太小

    本文讲述如何解决Win10系统麦克风声音太小,简介如下 如何解决Win10系统麦克风声音太小 1、首先找到右下角的喇叭图标。 2、接着右键点击选择录音设备,进入麦克风设置界面。 3、之后可以看到我们的麦克风设备是否...

    苹果电脑怎么删除照片

    本文讲述苹果电脑怎么删除照片mac照片怎么批量删除,简介如下很多刚刚使用苹果电脑的小伙伴对于mac系统中的一些操作不是很了解,就比如说不知道在mac系统中怎么批量删除照片,不过啥都懂的小编就可以轻松帮助大家解决问题,现在...

    伊利爱儿俱乐部怎么注册会员

    本文讲述伊利爱儿俱乐部怎么注册会员,简介如下 开始购买伊利产品的用户,可以注册俱乐部会员来享受会员的权益,那要怎么注册成为会员呢?下面就来为大家详细介绍一下具体操作步骤,一起看看吧 伊利爱儿俱乐部怎么注册...

    如何在PS中对图片进行缩放或放大的操作 如何在ps中图片抽去颜色放到其他空白图片里

    如何在PS中对图片进行缩放或放大的操作,简介如下如何用PS轻松实现图片的放大缩小、调整如何用PS轻松实现图片的放大缩小、调整Photoshop是一款常用的图像处理软件,其功能强大,可以实现各种各样的图像处理效...

    如何取消超链接 如何取消超链接快捷键

    如何取消超链接,简介如下超链接(Hyperlink)是Web页面中非常重要的元素之一,它可以让用户从一个页面轻松地跳转到另一个相关页面。但是,有时候我们不想让某些链接生效,那么怎么取消...