学无先后,达者为师

网站首页 编程语言 正文

react-router-domV6版本的路由和嵌套路由写法详解_React

作者:ToBeBetterPersonOne   更新时间: 2022-05-06 编程语言

1 - 单级路由

Home
about


  }/>
  

2 - 嵌套路由(about路径进行嵌套)

一级路由

Home
about


  }/>
  
  

二级路由

跳转按钮一般最好写完整,否则看代码看不清楚

新闻
消息


    }/>
    }/>

跳转切换的path要写二级路由的路径

React Router v6使用路由嵌套和重定向

v6版本与v5版本差异较大,以下为V6使用路由嵌套及路由重定向方法,子路由路径不用加"/",v6中会自动拼接

App.jsx

import React, { Component } from 'react'
import { Route,Routes,Navigate} from 'react-router-dom'
import About from './pages/About'
import Home from './pages/Home'
import Header from './components/Header'
import MyNavLink from './components/MyNavLink'
export default class App extends Component {
    render() {
        
        return (
            
            
                                
                   
               
               
                   
                       
                            {/* 链接路由 */}                             About                             Home                            
                   
               
               
                   
                       
                            {/* 注册路由 */}                                                                              {/* 首次进入页面是重定向到/about路径 */}                                         }>                                                                                  }>                                         }>                                                                                                                                                                              
                   
               
           
                     )     } }

Home/index.jsx

import React, { Component } from 'react'
import MyNavLink from '../../components/MyNavLink'
import {Route,Routes,Navigate} from 'react-router-dom'
import News from './News'
import Messages from './Messages'
export default class Home extends Component {
    render() {
        return (
           
               

Home内容

               
                                News                                 Messages                  
               
                                                                     }>                         }>                         }>                                    
           
        )     } }

Home/Messages/index.jsx

import React, { Component } from 'react'

export default class Messages extends Component {
    render() {
        return (
            
                   
  • message1
  •                
  • message2
  •                
  • message3
  •                
  • message4
  •            
        )     } }

MyNavLink/index.jsx

import React, { Component } from 'react'
import { NavLink } from 'react-router-dom'
export default class MyVavLink extends Component {
    render() {
        return (
            
        )
    }
}

原文链接:https://blog.csdn.net/led1114/article/details/122802885

栏目分类
最近更新