react路由跳转不刷新如何解决

这篇文章主要介绍了react路由跳转不刷新如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react路由跳转不刷新如何解决文章都会有所收获,下面我们一起来看看吧。

为彰武等地区用户提供了全套网页设计制作服务,及彰武网站建设行业解决方案。主营业务为做网站、网站设计、彰武网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

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

); }}export default withRouter(routers);”。

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

问题

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

解决方案

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

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

react路由跳转不刷新如何解决
我们将这个key绑定在 路由顶层元素上就能精确定位路由了

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

         
           
           
           
           
                        exact
             path="/solutionDetails/:id"
             component={SolutionDetails}
           />
           
           
           
           
           
         

     

   );
 }

然鹅,可能你发现 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路由跳转不刷新如何解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


网页标题:react路由跳转不刷新如何解决
转载源于:http://myzitong.com/article/joodhe.html