环球热点评!react路由返回时不刷新怎么办

时间:2023-01-04 10:14:28       来源:PHP中文网

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


(资料图)

react路由返回时不刷新怎么办?

react 跳转后路由变了页面没刷新的解决方案

最近在学习React的过程中遇到了路由跳转后页面不刷新的问题,本文就详细的介绍一下解决方法,需要的朋友们下面随着小编来一起学习学习吧

问题

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

如下所示

路由代码

解决方案

在路由组件上最上层元素上加一个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路由返回时不刷新怎么办的详细内容,更多请关注php中文网其它相关文章!

关键词: 关联组件 解决方案 相关文章