React的页面传值,路由跳转

1,search传值(拼接url的传值方式)

        特点:刷新不消失


var path = {
        pathname:"/home",
        search:`?id=12` }

//跳转
history.push(path);

//取
props.location.search;//得到的结果是字符串  ?id=12

或者直接拼接url(最推荐)

//直接拼接url方式,简单粗暴

history.push("/home?id=12&name=zqq")

2,params---定义路由方式

        特点:需要在路由表中,先定义路由参数

(1)定义路由

//该路由表示后面可以拼接一个名为id的参数
<Route path="/home/:id"></Route> 

(2)用法

//Link组件跳转
<Link to="/home/26">用户</Link>

//函数式跳转
history.push("/home/37")

//取参数
props.params.id

3,query方式

        特点:刷新页面,参数消失;复制链接打开新页面,没有参数

用法

var path = { 
            pathname:"/home",
            query:{id:3,name:"zqq"}
           };


//Linke组件跳转
 <Link to={path}>用户<Link>

//history函数跳转
history.push(path)

//取参数
 props.location.query;

4.state方式

特点:刷新不会消失;复制链接打开新页面,没有参数

用法和写法与query相同;

var path = {
            pathname:"/home",
            state:{参数}
         }

//取
props.location.state

histroy--路由信息

注意:在页面中,可以通过props.history获得;在子组件中,要么把父组件的history传给子组件,要么使用withRouter高阶组件包裹子组件,或者通过useHistory来获取路由信息;

//useHistory方式
import { useHistory } from "react-router";

     const history=useHistory();

      history.push({
        pathname:"/search",
        search:`?source=bounty`
      })

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React 类组件中,可以使用路由库(如 react-router-dom)来实现路由跳转。以下是一种常见的方法: 1. 首先,确保你已经安装并配置了路由库,比如 react-router-dom。 2. 在你的路由配置中,使用 `<Route>` 组件指定路径和要渲染的组件。 3. 在类组件中,可以通过 `this.props.history.push()` 方法来进行路由跳转。例如: ```jsx import React from 'react'; class Home extends React.Component { handleButtonClick = () => { // 跳转到另一个路径 this.props.history.push('/detail'); }; render() { return ( <div> <h1>Home Page</h1> <button onClick={this.handleButtonClick}>Go to Detail</button> </div> ); } } export default Home; ``` 在上面的例子中,当点击按钮时,会调用 `handleButtonClick` 方法,并使用 `this.props.history.push('/detail')` 进行路由跳转到 "/detail" 路径。 4. 在路由组件中,可以通过 `<Link>` 组件来实现路由跳转。例如: ```jsx import React from 'react'; import { Link } from 'react-router-dom'; class Home extends React.Component { render() { return ( <div> <h1>Home Page</h1> <Link to="/detail">Go to Detail</Link> </div> ); } } export default Home; ``` 在上面的例子中,使用 `<Link>` 组件将文字 "Go to Detail" 包裹起来,并设置 `to` 属性为目标路径 "/detail",点击文字时会进行路由跳转。 这样,你就可以在 React 类组件中实现路由跳转了。根据你的实际需求,可以使用 `this.props.history.push()` 或 `<Link>` 组件来进行跳转。记得在路由组件中包裹 `<Router>` 组件,以便在整个应用中进行路由管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值