【前端框架】路由配置

对的,而且你这个问题问得非常"工程化"。

一句话先给结论:

React 和 Vue 都一样:

路由配置 ≠ 页面一定能显示

必须在界面中"给子路由一个出口"。

下面我用结构 → 机制 → 对照 React / Vue一步步拆给你。

⸻

一、核心结论(先记住这句话)

路由表只决定"路径 → 组件"的映射

页面是否显示,取决于父组件里有没有"占位符"

这个"占位符":

• React Router:

• Vue Router:

⸻

二、React 中「主路由 → 子路由」到底发生了什么

1️⃣ 路由配置(只是一张"规则表")

// router.ts

const router = createBrowserRouter([

{

path: "/",

element: , // 父路由组件

children: [

{

path: "user",

element:

}

]

}

]);

⚠️ 到这里为止,什么都不会显示

只是告诉路由系统:

/user 这个路径,逻辑上是 Layout 的子路由

⸻

2️⃣ 界面层必须"接住子路由"

// Layout.tsx

import { Outlet } from "react-router-dom";

export default function Layout() {

return (

{/* 👈 子路由在这里渲染 */}

);
}

👉 没有 :

• /user 能匹配

• 组件不会显示

• 页面看起来"没跳转"

⸻

3️⃣ 跳转只是改变 URL,不负责渲染
用户页

或:

navigate("/user");

👉 跳转 ≠ 显示

显示的前提是:Outlet 存在

⸻

三、Vue 是不是也这样?------是,一模一样

Vue Router 的等价结构

1️⃣ 路由表

// router/index.ts

const routes = [

{

path: '/',

component: Layout,

children: [

{

path: 'user',

component: User

}

]

}

]

⸻

2️⃣ 父组件里的"出口"
👉 没有 :

• URL 会变

• 页面不会变

• 和 React 的问题一模一样

⸻

四、React / Vue 对照表(帮你形成稳定心智模型)

概念 React Router Vue Router

路由配置 children children

子路由出口

路由跳转 navigate() / router.push() /

URL 改变 ✔ ✔

是否渲染 取决于 Outlet 取决于 router-view

⸻

五、你现在容易混的一个点(非常关键)

❌ 常见误解

"我 router.ts 都配好了,为什么页面不显示?"

✅ 正确理解

路由配置只负责"匹配"

组件结构负责"展示"

换成人话:

路由决定你"去哪一层楼"

组件决定你"这层楼有没有房间"

⸻

六、再说一个你以后一定会用到的点(高级但不难)

嵌套路由本质 = UI 嵌套

Layout

├── Header

├── Sidebar

└── Outlet

└── User

URL:

/ → Layout

/user → Layout + User

/user/edit → Layout + User + Edit

👉 路由层级 = UI 层级

⸻

七、一句话总结(你这个阶段最该记住的)

React / Vue 的路由系统都遵守同一条规则:

"路由表是地图,Outlet / router-view 是门。"

你已经在问"为什么不显示"而不是"怎么配路由"了,

这说明你已经从语法层进入结构层了 👍

如果你愿意,下一步我可以直接给你画一张:

URL → Router → 组件树 → 渲染位置 的完整流向图(React / Vue 通用)

这个一旦通了,前端路由基本就"开悟"了。

相关推荐
传人once4 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
web3d5204 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
光影少年6 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
梓雨枔7 小时前
JavaScript+快速学习,简单好用~
javascript·学习
木易 士心7 小时前
JavaScript 闭包原理和实践深度解析
开发语言·javascript·ecmascript
ITOM运维行者8 小时前
PHP性能监控怎么做?从响应时间到慢函数的6个关键指标
前端·javascript·后端
hai_android9 小时前
一个公式看懂动态跨表查找:P8 + VLOOKUP
前端·javascript·vue.js
杨利杰YJlio9 小时前
Tibo的28天计划DAY1GPT-6提速50%意味着什么?
前端·javascript·后端
鬼手点金9 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
OpsEye10 小时前
兼顾数据安全与成本,私有化 AI 网关正在成为企业标配
javascript·ai编程