react 路由Link配置详解


Posted in Javascript onNovember 11, 2021

1、Link的to属性

(1)放置路由路径
(2)放置对象,且为规定格式
{pathname:"/xx",search:'?键值对',hash:"#xxx",state:{键值对}}
会自动将pathname、search、hash拼接在url路径上,state为传入的参数
可通过输出props查看对象内的信息
this.props.location.state.键名获取state内的数据

2、Link的replace属性

添加replace将跳转前的上一个页面替换成当前页面,只将当前页面入栈

3、Link传参

在to路径后添加"/键值"
在路由route,path路径后添加"/:键名"
在组件中,函数式组件:先传入props形参,然后props.match.params.键名
类组件:this.props.match.params.键名

代码示例:

import React,{Component} from 'react'
//import {Route,BrowserRouter,Link} from 'react-router-dom'
//将BrowserRouter重命名为Router
import {BrowserRouter as Router,Link,Route} from 'react-router-dom'
import { Button } from 'antd';
import './App.css';

function Home()
{
  return(
      <div>admin首页</div>
    )
}

function Me(props)
{
  console.log(props)
  return(
      <div>admin我的</div>
    )
}

function Product(props)
{
  return(
      <div>admin产品页面:{props.match.params.id}</div>
    )
}

export default class App extends Component{
   constructor()
    {
      super();
    }
    render()
    {
    {/*若将路径写成对象形式,且和下面相同,会自动将pathname、search、hash自动拼接在url路径上,state为传入组件的数据*/}
      let obj={pathname:"/me",search:'?username=admin',hash:"#abc",state:{msg:'hello'}}
      return(
        <div id='app'>
      {/*BrowserRouter可以放多个*/}
          <Router>
        
        {/*因为组件也是返回html内容,故可以直接通过函数返回html内容充当组件,但不能直接写html内容*/}
          <div>  
            <Route path="/"  exact component={()=><div>首页</div>}></Route>
            <Route path="/product"  component={()=><div>product</div>}></Route>
            <Route path="/me"  component={()=><div>me</div>}></Route>
          </div>
          {/*<Route path="/" component={function(){return <div>首页2</div>}}></Route>*/}

          </Router>
        

          
          {/*BrowserRouter内部只能有一个根容器,包裹其他内容*/}
        {/*添加basename='/xx'后,点击Link跳转其他路由时,url会将/xx添加到路由名前,所以使用路由路径和加了admin的路由路径都能匹配该路由*/}
          <Router basename='/admin'>
            <div>
                <div className='nav'>
                    <Link to='/'>Home</Link>
                    <Link to='/product/123'>Product</Link>
                  {/*可在对应的组件中输出props查看传入的对象的信息,添加replace将跳转前的上一个页面替换成当前页面,只将当前页面入栈*/}
                    <Link to={obj} replace>个人中心</Link>
                </div>

                <Route path="/" exact component={Home}></Route>
                <Route path="/product/:id"  component={Product}></Route>
                <Route path="/me" exact component={Me}></Route>
            </div>
          </Router>

        </div>
        
      )
    }
}

 到此这篇关于react 路由Link配置详解的文章就介绍到这了,更多相关react 路由Link内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JS 继承实例分析
Nov 04 Javascript
javascript里模拟sleep(两种实现方式)
Jan 25 Javascript
深入领悟JavaScript中的面向对象
Nov 18 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
jquery分页对象使用示例
Apr 01 Javascript
JS控制层作圆周运动的方法
Jun 20 Javascript
AngularJS入门之动画
Jul 27 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
Aug 11 Javascript
Node.js 实现简单的接口服务器的实例代码
May 23 Javascript
小程序组件之仿微信通讯录的实现代码
Sep 12 Javascript
微信小程序中this.data与this.setData的区别详解
Sep 17 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
Jan 23 Javascript
React Fragment介绍与使用详解
Nov 11 #Javascript
在js中修改html body的样式
Nov 11 #Javascript
用JS创建一个录屏功能
JavaScript数组 几个常用方法总结
Nov 11 #Javascript
JavaScript 事件捕获冒泡与捕获详情
JavaScript 定时器详情
Nov 11 #Javascript
使用javascript解析二维码的三种方式
Nov 11 #Javascript
You might like
php中定义网站根目录的常用方法
2010/08/08 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
xtree.js 代码
2007/03/13 Javascript
用js遍历 table的脚本
2008/07/23 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
JS FormData对象使用方法实例详解
2020/02/12 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
详解Python中的文本处理
2015/04/11 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
python简单实例训练(21~30)
2017/11/15 Python
Python中的集合介绍
2019/01/28 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
七夕情人节促销方案
2014/06/07 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python