Javascript 在`matchPath()`函数中出现不一致的`exact`行为
我的应用程序中有两级导航。当任何子项处于活动状态时,顶级项应具有不同的颜色。为了实现这一点,我尝试使用Javascript 在`matchPath()`函数中出现不一致的`exact`行为,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我的应用程序中有两级导航。当任何子项处于活动状态时,顶级项应具有不同的颜色。为了实现这一点,我尝试使用matchPath()函数 顶级导航路线为/app/production,子项路线为/app/production/:id。 当用户打开/app/production/:id时,我希望matchPath()为/app/production返回true 这是我用于此检查的代码: matchPath(“/app/production”,{path:location.pathname,exact:fa
matchPath()
函数
顶级导航路线为/app/production
,子项路线为/app/production/:id
。
当用户打开/app/production/:id
时,我希望matchPath()
为/app/production
返回true
这是我用于此检查的代码:
matchPath(“/app/production”,{path:location.pathname,exact:false})
按照文档说明和
组件的工作原理,我需要将精确的
参数设置为false-但我仍然得到null
匹配对象。这就像matchPath()
总是与{exact:true}
一起工作一样。你知道我做错了什么吗
注:不,我不能用
来解决这个问题。好的,我发现了问题。我把参数的顺序搞乱了。
而不是:
matchPath(“/app/production”,{path:location.pathname,exact:false})
应该是:
matchPath(location.pathname,{path:/app/production,exact:false})
请尝试还原参数的顺序:
matchPath(location.pathname, { path: "/app/production"})
此外,exact的默认值为false,因此我们可以跳过它