关于新版react路由怎么在class组件中使用

大家都知道,前几个月react-router-dom更新到了V6版本,新版本的路由更加的拥抱函数式组件,这就导致一些写习惯Class组件,不太习惯函数式组件的同学无所适从。要知道在V5版本的路由我们可以通过withRouter这个高阶组件,使得一些路由的api绑定到组件的props上,而新版的路由弃用了这一高阶组件,所以我们可以通过简单的自己封装一下:

import React, { Component } from 'react'
import { useNavigate, useParams } from 'react-router-dom'
const WithRouter = (Heder: any) => {
  return function() {
    const history = useNavigate()
    return <Heder history={history} />
  }
}


export default WithRouter

具体思路就是前两天在逛博客的时候一个大佬用传参的方式去给class传路由方法,但他是从根组件那里传,从而让我有了自己封装高阶组件的想法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值