The solution to the page not refreshing after the route changes after react jumps

The solution to the page not refreshing after the route changes after react jumps

question

There seem to be many reasons for this problem. My problem is that the URL with parameters cannot be refreshed. In router 5.0 version, using the withRouter associated component to jump to the page is as follows

insert image description here

Routing Code

insert image description here

Solution

Adding a key to the top-level element of the routing component increases the recognition of the route, because ordinary jumps are identified based on the path, but when the path carries parameters, the route cannot be accurately identified. However, when jumping to a page, a key will be added to the localtion object for each address. Print as follows

 // Component mounting componentDidMount() {
    console.log(this.props.location);
  }

insert image description here

We can accurately locate the route by binding this key to the top-level element of the route.

 render() {
    return (
      {/*This is the 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>
    );
  }

However, you may find that this.props is an empty object {}. That may be because you did not use withRouter to associate the component. Just associate it. Note that app.js cannot be associated, withrouter can only be associated with routing components or subcomponents of app.js

import React, { Component } from "react";
import { withRouter } from "react-router";

class routers extends Component {
 /**
  * Life cycle function */
 // Component mounting componentDidMount() {
   console.log(this.props.location);
 }
 render() {
   return (
     <div key={this.props.location.key}>
     </div>
   );
 }
}
export default withRouter(routers);

This is the end of this article about the solution to the problem that the page does not refresh after the route changes after react jumps. For more related content about the page not refreshing after react jumps, please search for previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed explanation of the solution to the problem that the page does not refresh when the Url parameter changes in React-Router
  • Solution to the 404 problem of react-router browserHistory refresh page

<<:  Data Structure - Tree (III): Multi-way Search Tree B-tree, B+ tree

>>:  Detailed explanation of MySQL from getting started to giving up - installation

Recommend

mysql5.7.19 zip detailed installation process and configuration

MySQL v5.7.19 official version (32/64 bit install...

jQuery implements simple pop-up window effect

This article shares the specific code of jQuery t...

How to implement Nginx reverse proxy for multiple servers

Nginx reverse proxy multiple servers, which means...

Example code for CSS pseudo-classes to modify input selection style

Note: This table is quoted from the W3School tuto...

Simply learn various SQL joins

The SQL JOIN clause is used to join rows from two...

Vue realizes the function of uploading photos on PC

This article example shares the specific code of ...

Problems and solutions encountered when installing mininet on Ubuntu 16.04.4LTS

Mininet Mininet is a lightweight software defined...

HTML small tag usage tips

Phrase elements such as <em></em> can ...

Personalized and creative website design examples (30)

Therefore, we made a selection of 30 combinations ...

HTML4.0 element default style arrangement

Copy code The code is as follows: html, address, ...

CSS -webkit-box-orient: vertical property lost after compilation

1. Cause The requirement is to display two lines,...