react路由跳转不刷新怎么办

react路由跳转不刷新的解决办法:1、在路由组件最上层元素上加一个key增加路由的识别度;2、使用withRouter关联组件,代码如“render() {return (); }}export default withRouter(routers);”。

react路由跳转不刷新怎么办

本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。

react路由跳转不刷新怎么办?

react 跳转后路由变了页面没刷新

问题

这样的问题貌似原因还挺多的,我的问题是带参数的url不能刷新,router 5.0版本 ,使用withRouter关联组件进行页面跳转
如下所示
193f94a4ae386e4e8da3160594feb00.jpg

解决方案

在路由组件上最上层元素上加一个key增加路由的识别度,因为普通的跳转是根据path来识别的,但是path带上参数时,路由无法精确识别。不过,在跳转页面的时候,每个地址都会在localtion对象里添加一个key。如下打印

 // 组件挂载  componentDidMount() {    console.log(this.props.location);  }

登录后复制

在这里插入图片描述
我们将这个key绑定在 路由顶层元素上就能精确定位路由了

 render() {    return (      {/*就是这个key*/}      
); }

登录后复制

然鹅,可能你发现 this.props为{} 空对象
那可能是因为你没有使用withRouter关联组件,关联一下就好了。注意一点,app.js无法关联,withrouter只能关联路由组件或者app.js的子组件

import React, { Component } from "react";import {withRouter } from "react-router";class routers extends Component { /**  * 生命周期函数  */ // 组件挂载 componentDidMount() {   console.log(this.props.location); } render() {   return (     
); }}export default withRouter(routers);

登录后复制推荐学习:《react视频教程》

以上就是react路由跳转不刷新怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2921726.html

(0)
上一篇 2025年3月11日 18:31:42
下一篇 2025年3月11日 18:31:50

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论