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

React Router v6的matchPath如何使用?v5写法报错怎么解决?

React Router v6 matchPath 正确用法

报错根因

React Router v6 对 matchPath API 做了不兼容调整,导致原有v5写法报错:

  • 入参顺序反转:v5版本调用方式为matchPath(待匹配路径, 匹配规则配置),v6版本改为matchPath(匹配规则配置, 待匹配路径)。原有写法会把规则配置对象当成路径字符串处理,对象不存在字符串的match方法,因此抛出pathname.match is not a function错误。
  • 配置字段替换:原有exact配置项已更名为end,语义不变,代表是否完全匹配路径。

正确写法示例

标准配置写法:

import { matchPath } from "react-router";

const match = matchPath(
  {
    path: "/users/:id",
    end: true, // 对应v5的 exact: true
    strict: false
  },
  "/users/123" // 待匹配路径放在第二个参数位
);

无特殊配置时可简化写法,直接将匹配路径作为第一个参数传入:

const match = matchPath("/users/:id", "/users/123");

内容的提问来源于stack exchange,提问作者Vadim P.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:15:04