React-Route新版本(v6或以上)用法示例

新版本的React-Route (v6或以上,但不排序后续版本还会有修改),移除了Switch,写法和老版本有一些区别,下面分享一个示例:

JSX文件:

javascript 复制代码
import React, {StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { BrowserRouter as Router, Route, Routes ,Link } from "react-router-dom";
import Home from './components/Home';    //根据路由显示的子组件,自己定义
import About from './components/About';  //根据路由显示的子组件,自己定义

//路由 begin
export function Navigation() {
return (
        <nav>
          <ul>
              <li>
                  <Link to="/">首页</Link>
              </li>
              <li>
                  <Link to="/about">关于</Link>
              </li>
          </ul>
        </nav>
      )
}

export default function App() {
  return (
    <Router>
         <Navigation />
        <Routes>
            <Route path="/" element={<Home />} />
            <Route path="/about" element={<About />} />
        </Routes>
    </Router>
    )
}
//路由 end

//错误边界
class ErrorBoundary extends React.Component {
  constructor(props){
    super(props)
    this.state = { hasError: false }
  }

  static getDerivedStateFromError(error){
    return {hasError:true}
  }

  componentDidCatch(error, info){
    console.log(error, info)
  }

  render(){ 
    if(this.state.hasError){  
      return <h1>Something went wrong.</h1>
    } 
    return this.props.children
  }
}

let root = document.getElementById('root')

if(!root) 
{
  root.render(
    <StrictMode>
      <ErrorBoundary>
        <App />
      </ErrorBoundary>
    </StrictMode>
  )
}

入口html页面引用上面的jsx文件,比如

html 复制代码
<script type="module" src="/src/main.jsx"></script>
相关推荐
jamison_118 天前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节
NaZiMeKiY19 天前
HTML5前端第六章节
前端·html·html5·1024程序员节
jamison_123 天前
颠覆未来:解锁ChatGPT衍生应用的无限可能(具体应用、功能、付费模式与使用情况)
ai·chatgpt·1024程序员节
NaZiMeKiY1 个月前
HTML5前端第七章节
1024程序员节
earthzhang20211 个月前
《Python深度学习》第四讲:计算机视觉中的深度学习
人工智能·python·深度学习·算法·计算机视觉·numpy·1024程序员节
明明真系叻1 个月前
2025.3.2机器学习笔记:PINN文献阅读
人工智能·笔记·深度学习·机器学习·1024程序员节·pinn
bitenum2 个月前
【C++/数据结构】队列
c语言·开发语言·数据结构·c++·青少年编程·visualstudio·1024程序员节
IT学长编程2 个月前
计算机毕业设计 基于SpringBoot的智慧社区管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·后端·毕业设计·课程设计·论文笔记·1024程序员节
qq_382391332 个月前
WPF框架学习
学习·wpf·1024程序员节
✿ ༺ ོIT技术༻2 个月前
Linux:TCP和守护进程
linux·运维·服务器·网络·tcp/ip·1024程序员节