我越来越
路径名. match不是函数
使用react-router
的matchPath时出错。
下面是抛出异常的代码:
import { matchPath, useLocation } from "react-router";
import { BrowserRouter as Router, Routes, Route, Link } from "react-router-dom";
const MatcherControl = () => {
const location = useLocation();
const match = matchPath(location.pathname, {
path: "/users/:id",
exact: true,
strict: false
});
return <div>{match ? "matches" : "not matches"}</div>;
};
这是重现错误的最小示例sandbox。
1条答案
按热度按时间ckocjqey1#
您正在使用
react-router
v6,matchPath
参数的顺序在新版本中颠倒了:检查一下here
您应该先传递
pattern
,然后传递pathname
: