如何在班级中从REACTION-RUTER-DOMV6获取参数值 [英] How to get parameter value from react-router-dom v6 in class

查看:17
本文介绍了如何在班级中从REACTION-RUTER-DOMV6获取参数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是REACT-ROUTER-DOM V6,不知道如何获取参数值

例如:http://localhost:3000/user/:id

我想要:id

有人使用挂钩useParams获取,但我正在使用类,所以无法使用挂钩。

推荐答案

库提供的HOC WITH路由器已在Reaction路由器V6中弃用。如果您需要使用V6并使用基于类的Reaction组件,那么您将需要编写自己的HOC来包装V6 Use*钩子。

例如:

export function withRouter( Child ) {
  return ( props ) => {
    const location = useLocation();
    const navigate = useNavigate();
    return <Child { ...props } navigate={ navigate } location={ location } />;
  }
}

如果您有大量需要迁移到V6的代码库,但尚未将所有基于类的组件迁移到函数性组件中,则此功能非常有用。

这是基于开发团队在本期Github中提出的建议:https://github.com/ReactTraining/react-router/issues/7256t

这篇关于如何在班级中从REACTION-RUTER-DOMV6获取参数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆