React+Typescript+react-router 6 创建路由操作

本文我们来看看路由的安装 其实路由的操作没有什么变化 但是还是给大家讲一下

那么我们打开项目

在项目终端输入

javascript 复制代码
npm install --save react-router react-router-dom

安装 一下 react-router 和 react-router-dom

这都是react开发很基本的插件了

不过大家安装前先注意好我的版本 react路由每个版本其实差异都还挺多的

这里 我们在src目录下创建一个文件夹 叫 router

然后 我们在下面创建一个 文件 叫 AppRouter.tsx

AppRouter.tsx组件编写代码如下

typescript 复制代码
import { Route, BrowserRouter as Router, Routes, Outlet } from "react-router-dom";

import App from "../App";
export default function AppRouter() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<Outlet />}>
          <Route index element={<App />} />
        </Route>
      </Routes>
    </Router>
  );
}

这边 我们声明了一个路由 路径是 / 渲染我们的 App组件

这里需要注意的是 在react-router-dom版本6中,exact属性已经被移除了。

而精准匹配可以通过这个 Outlet 特性来实现

如果你有多个路由 皆可以这样

大概归结为两个点 父组件设置 Outlet 就可以精准匹配 index 会被设置为路径 /

然后 我们找到src下的 index.tsx组件 将原本 App组件的引入位置 换成我们的路由组件

然后 我这边 App组件就顺便写的什么 测试一下效果就好了

然后启动项目

也是没有任何问题

相关推荐
起名时在学Aiifox21 分钟前
深入解析 Electron 打包中的 EPERM: operation not permitted 错误
前端·javascript·electron
hachi031342 分钟前
Vue中input disabled时点击事件不触发怎么办?
javascript·vue.js·ecmascript
漫天黄叶远飞1 小时前
别再把对象当“字典”!JS 零基础也能看懂的“属性账本”拆解笔记
javascript
起名时在学Aiifox1 小时前
Vue3 + Element Plus 表格排序实战:基于状态字段的智能排序方案
前端·javascript·vue.js·element plus
yzx9910131 小时前
基于Flask的智能语音增强系统模拟
前端·javascript·html
青衫码上行1 小时前
【Java Web学习 | 第14篇】JavaScript(8) -正则表达式
java·前端·javascript·学习·正则表达式
我的虾分发1 小时前
虾分发是一个键打包封装APP内测分发平台
javascript
天才熊猫君2 小时前
vue3 基于 el-table 的无限滚动自定义指令实现
前端·javascript
3秒一个大2 小时前
从代码示例看 ES8 中的 async/await:简化异步操作的利器
javascript
用户72668617056982 小时前
找不到模块“virtual:svg-icons-register”或其相应的类型声明的解决办法
typescript