在React

时间:2017-05-03 02:22:47

标签: reactjs react-router

我尝试使用Router.isActive检查路由

如果当前路线是/ animals / edit

(router.isActive('/animals/edit')

是真的。

但如果当前路线是/ animals / edit / 23

(router.isActive('/animals/edit/') 

是假的。

如何制作包含尾随参数的路线?

2 个答案:

答案 0 :(得分:2)

我有同样的问题。通过使用Item.objects.filter(name__iregex=r'(?i)Something[\s\w]+') 匹配路线解决了这个问题。

在您的示例中,以下内容应该执行此操作:

router.getCurrentLocation().pathname

答案 1 :(得分:1)

不幸的是,我认为router.isActive无法做到这一点,因为它不支持路径参数(即router.isActive('/animals/edit/:number'))。

作为替代方案,您可以使用React Router v4' matchPath

import { matchPath } from 'react-router'

const match = matchPath(currentPath, {
  path: '/animals/edit(/:number)',
  exact: true,
  strict: false
})