React路由,Routes + Route 如何实现路由的嵌套?
发布于 作者:苏南大叔 来源:程序如此灵动~

本文描述一下react route
这个话题里面的路由嵌套,因为react
路由实际上有两大类的写法。那么,路由嵌套这个话题也将分为多个文章来完成。本文着眼于第一种BrowserRouter
+Routes
+Route
这种写法进行阐述。

苏南大叔的“程序如此灵动”,记录苏南大叔的编程心得体会。本文测试环境:nodejs@20.18.0
,create-react-app@5.0.1
,react-router-dom@6.27.0
,react@18.3.1
。
基础测试代码
还是使用标准的cra
模版,进行改造。

Outlet占位符
建立几个最简单的页面,page/S.js
、page/N.js
、page/O.js
、page/N.js
。代码类似:

不管是上述那种情况,对于子element
显示的位置,是在上一层的父element
里面定义的,使用的方法就是<Outlet/>
。
换句话说,一个react
页面组件中出现的<Outlet/>
字样,就是留给路由中定义的对应element
的子element
的。
Routes路由嵌套
react
路由,本文的侧重点是:<Routes><Route/></Routes>
。路由嵌套的话,实际上就是<Route/>
套<Route/>
即可。
参考文章:
App.js
:

结束语
苏南大叔觉得这种react route
决定组件位置的方式,很难以接受,吐槽完毕。苏南大叔的更多react
相关经验文章,请参考下面的链接:


