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

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

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

react路由跳转不刷新的解决办法:1、在路由组件最上层元素上加一个key增加路由的识别度;2、使用withRouter关联组件,代码如“render() {return (<div key={this.props.location.key}></div>); }}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*/}
     <div key={this.props.location.key}>
         <Switch>
           <Route exact path="/" component={Home} />
           <Route exact path="/products/:id" component={Products} />
           <Route exact path="/about" component={About} />
           <Route exact path="/solution" component={Solution} />
           <Route
             exact
             path="/solutionDetails/:id"
             component={SolutionDetails}
           />
           <Route exact path="/download" component={Download} />
           <Route path="/about" component={Download} />
           <Route exact path="/details/:id" component={Details} />
           <Route path="/contact" component={Contact} />
           <Route component={ErrorPage} />
         </Switch>
     </div>
   );
 }

然鹅,可能你发现 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 (
    <div key={this.props.location.key}>
    </div>
  );
}}export default withRouter(routers);

关于“react路由跳转不刷新如何解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“react路由跳转不刷新如何解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。

本文名称:react路由跳转不刷新如何解决
文章源于:https://www.cdcxhl.com/article44/joodhe.html

成都网站建设公司_创新互联,为您提供移动网站建设网站改版营销型网站建设网站建设服务器托管自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计