react更改路由入参_详解React路由传参方法汇总记录

React中传参方式有很多,通过路由传参的方式也是必不可少的一种。

本文记录项目中会用到的路由传参方式: 路由跳转传参API + 目标路由获取参数的方式。

一、动态路由

跳转方法

Link

跳转新增页面

history.push

this.props.history.push("/user/add/1");

获参方法

this.props.match.params

二、路由query显示参数

Link跳转

跳转新增页面

history.push

this.props.history.push({

pathname: "/user/add",

//参数

query: { id: 1 },

});

获参方法

this.props.location.query

三、路由state隐式参数

Link跳转

跳转新增页面

history.push

this.props.history.push({

pathname: "/user/add",

state: { id: 1 },

});

获参方法

this.props.location.state

代码DEMO

入口App组件

class App extends React.Component {

render() {

return (

//动态路由

{/* */}

);

}

}

动态路由Demo

User组件

import React, { Component } from "react";

import { Link } from "react-router-dom";

export default class User extends Component {

render() {

return (

User

{/* 跳转新增页面 */}

onClick={() => {

// 1.

// this.props.history.push("/user/add/1");

// 2.

this.props.history.push({

pathname: "/user/add/1",

});

}}

>

跳转新增页面

);

}

}

UserAdd组件

import React, { Component } from "react";

export default class UserAdd extends Component {

render() {

console.log("this.props.match.params:", this.props.match.params);

return

UserAdd
;

}

}

路由query显示参数Demo

User组件

import React, { Component } from "react";

import { Link } from "react-router-dom";

export default class User extends Component {

render() {

return (

User

跳转新增页面

onClick={() => {

this.props.history.push({

pathname: "/user/add",

query: { id: 1 },

});

}}

>

跳转新增页面

);

}

}

路由state隐式参数Demo

User组件

import React, { Component } from "react";

import { Link } from "react-router-dom";

export default class User extends Component {

render() {

return (

User

跳转新增页面

onClick={() => {

this.props.history.push({

pathname: "/user/add",

state: { id: 1 },

});

}}

>

跳转新增页面

);

}

}

到此这篇关于详解React路由传参方法汇总记录的文章就介绍到这了,更多相关React路由传参内容请搜索随便开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持随便开发网!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值