You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Router DOM v6如何配置不定数量的路由参数?

解决React Router不定层级路径参数问题

方案:使用通配符路由匹配任意层级

React Router支持通配符路由来匹配多级路径,无需手动声明每一层级。只需修改路由配置,再在组件中解析路径参数即可。

1. 更新Routes.js的路由配置

把原路由的:params替换为通配符*,让它匹配/test/之后的所有路径内容:

// Routes.js
<Route path='/test/*' element={<Test />} />

2. 在Test.js中解析多级参数

通过useParams获取通配符对应的参数(键名为"*"),再用split('/')拆分成层级数组:

// Test.js
import { useParams } from 'react-router-dom';

const Test = () => {
    const { "*": pathSegments } = useParams();
    // 拆分路径并过滤空字符串(避免首尾斜杠产生的无效元素)
    const folderHierarchy = pathSegments ? pathSegments.split('/').filter(seg => seg) : [];
    
    console.log('当前文件夹层级:', folderHierarchy);
    // 访问/test/home/room时,会输出 ["home", "room"]

    return (
        <div>当前位置:{folderHierarchy.join(' / ')}</div>
    )
}

export default Test;

补充说明

  • 通配符*会匹配/test/之后的任意长度路径,不管层级深度
  • 拆分得到的数组可以直接用于构建导航面包屑、加载对应层级的待办内容等业务逻辑
  • 如果需要限制路径格式(比如仅允许字母数字的文件夹名),也可以使用正则表达式路由,但通配符已能满足大多数层级导航需求

内容的提问来源于stack exchange,提问作者Lucas Villanueva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:05:34