React之react-router-dom6用法

本文介绍了如何在React应用中使用react-router-domv6进行路由配置。首先在index.js中设置BrowserRouter,然后在App.js中注册并配置Routes,包括使用NavLink创建导航按钮,用Route定义页面路径。此外,还展示了如何通过路由表方式来管理路由,并使用useRoutesHook加载路由配置。
摘要由CSDN通过智能技术生成

npm install react-router-dom@6 -S

  •  1.在入口文件index.js配置路由模式
import { BrowserRouter } from 'react-router-dom'
...
<BrowserRouter><App /></BrowserRouter>   
  • 2.在App.js中注册路由
import { NavLink,Routes,Route,Navigate } from "react-router-dom";
import Page1 from "./pages/page1/Page1";
import Page2 from "./pages/page2/Page2";
import './App.css'
function App() {
  const computedActive = ({isActive}) => {
    return isActive ? 'activeNav':''
  }
  return (
    <div className="App">
      // 导航按钮
      <NavLink className={computedActive} to="/page1">page1</NavLink>
      <NavLink className={computedActive} to="/page2">page2</NavLink>
      // 注册路由(需要用Routes标签包裹,同时组件的关联也改为element)
      <Routes>
        <Route path="/page1" element={<Page1></Page1>}></Route>
        <Route path="/page2" element={<Page2></Page2>}></Route>
        <Route path="/" element={<Navigate to="/page1"/>}></Route>
      </Routes>
    </div>
  );
}

export default App;
  • 不直接注册路由,使用路由表配置

路由表:

import { Navigate } from "react-router-dom";
import Page1 from "../pages/page1/Page1";
import Page2 from "../pages/page2/Page2";
export default [
  {
    path: '/page1',
    element: <Page1 />
  },
  {
    path: '/page2',
    element: <Page2 />
  },
  {
    path: '/',
    element: <Navigate to="/page1"/>
  }
] 

App.js中使用路由表

import { useRoutes } from "react-router-dom";
import './App.css'
import routerConfig from '../routes/index'
function App() {
  const computedActive = ({isActive}) => {
    return isActive ? 'activeNav':''
  }
  const routerList = useRoutes(routerConfig)
  return (
    <div className="App">
      // 导航按钮
      <NavLink className={computedActive} to="/page1">page1</NavLink>
      <NavLink className={computedActive} to="/page2">page2</NavLink>
      // 注册路由(需要用Routes标签包裹,同时组件的关联也改为element)
      { routerList }
    </div>
  );
}

export default App;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值