React Routing Link Configuration Details

React Routing Link Configuration Details

1. Link's to attribute

(1) Place the routing path
(2) Place the object in the specified format
{pathname:"/xx",search:'?Key-value pair',hash:"#xxx",state:{key-value pair}}
It will automatically concatenate pathname, search, and hash to the url path. state is the passed parameter and you can view the information in the object by outputting props.
this.props.location.state.Key name to get the data in state

2. Link's replace attribute

Add replace to replace the previous page before the jump with the current page, and only push the current page into the stack

3. Link parameter transfer

Add "/key value" after the to path
Add "/:key name" after the route and path
In the component, the functional component: first pass in the props parameter, then props.match.params.key name class component: this.props.match.params.key name

Code example:

import React,{Component} from 'react'
//import {Route,BrowserRouter,Link} from 'react-router-dom'
//Rename BrowserRouter to Router
import { BrowserRouter as Router, Link, Route } from 'react-router-dom'
import { Button } from 'antd';
import './App.css';

function Home()
{
  return(
      <div>admin homepage</div>
    )
}

function Me(props)
{
  console.log(props)
  return(
      <div>admin my</div>
    )
}

function Product(props)
{
  return(
      <div>admin product page:{props.match.params.id}</div>
    )
}

export default class App extends Component {
   constructor()
    {
      super();
    }
    render()
    {
    {/*If the path is written in object form and is the same as below, pathname, search, and hash will be automatically concatenated on the url path, and state is the data passed into the component*/}
      let obj={pathname:"/me",search:'?username=admin',hash:"#abc",state:{msg:'hello'}}
      return(
        <div id='app'>
      {/*You can put multiple BrowserRouter*/}
          <Router>
        
        {/*Because the component also returns HTML content, you can directly return HTML content through the function to act as a component, but you cannot directly write HTML content*/}
          <div>  
            <Route path="/" exact component={()=><div>首页</div>}></Route>
            <Route path="/product" component={()=><div>product</div>}></Route>
            <Route path="/me" component={()=><div>me</div>}></Route>
          </div>
          {/*<Route path="/" component={function(){return <div>首页2</div>}}></Route>*/}

          </Router>
        

          
          {/*There can only be one root container inside BrowserRouter to wrap other content*/}
        {/*After adding basename='/xx', when you click Link to jump to other routes, the url will add /xx to the front of the route name, so both the route path and the route path with admin added can match the route*/}
          <Router basename='/admin'>
            <div>
                <div className='nav'>
                    <Link to='/'>Home</Link>
                    <Link to='/product/123'>Product</Link>
                  {/*You can output props in the corresponding component to view the information of the passed object, add replace to replace the previous page before the jump with the current page, and only push the current page into the stack*/}
                    <Link to={obj} replace>Personal Center</Link>
                </div>

                <Route path="/" exact component={Home}></Route>
                <Route path="/product/:id" component={Product}></Route>
                <Route path="/me" exact component={Me}></Route>
            </div>
          </Router>

        </div>
        
      )
    }
}

This is the end of this article about the detailed configuration of react routing Link. For more relevant react routing Link content, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed explanation of the redirection methods of each version of React routing
  • react-router JS control routing jump example
  • Detailed explanation of how react obtains routing parameters in components
  • How to use nested routes in react-router4
  • Implementation of React-router4 route monitoring
  • React router4+redux method to implement routing permission control
  • Summary of React-router v4 routing configuration method
  • Detailed explanation of routing applications above react router 4.0

<<:  Introduction to keyword design methods in web design

>>:  Summary of basic operations for MySQL beginners

Recommend

How to use Typescript to encapsulate local storage

Table of contents Preface Local storage usage sce...

Comprehensive understanding of line-height and vertical-align

Previous words Line-height, font-size, and vertica...

MySQL 8.0.15 installation graphic tutorial and database basics

MySQL software installation and database basics a...

Detailed explanation of CSS label mode display property

The code looks like this: <!DOCTYPE html> &...

Should I abandon JQuery?

Table of contents Preface What to use if not jQue...

Use CSS to set the width of INPUT in TD

Recently, when I was using C# to make a Web progra...

el-table in vue realizes automatic ceiling effect (supports fixed)

Table of contents Preface Implementation ideas Ef...

Create a movable stack widget function using flutter

This post focuses on a super secret Flutter proje...

How to use CSS style to vertically center the font in the table

The method of using CSS style to vertically cente...

Deploy the Vue project on a Linux server

Case 1 vue-cli builds the vue3 project, uploads t...

Detailed tutorial on how to install MySQL 5.7.18 in Linux (CentOS 7) using YUM

The project needs to use MySQL. Since I had alway...

About the problem of vertical centering of img and span in div

As shown below: XML/HTML CodeCopy content to clip...