如何判断路由在React Router 4中是否有效?

时间:2018-02-14 16:48:33

标签: react-router react-router-v4

在以前版本的React Router中,我们有router.match()函数,它将告诉我们给定路径是否是有效路径。我如何在4.0中做同样的事情?

上下文:我们有从数据填充的链接。通常,这些链接在我们的路由器中有效,但并非所有链接都有效。在这些情况下,我们希望将Linka相关联。具体来说,路径可能是外部链接,在这种情况下,我们知道我们不想要Link组件,并且传递外部链接将导致路由器失败。

1 个答案:

答案 0 :(得分:0)

你可以使用Route。 React Router4使用渲染道具为您提供所需的数据。 https://reacttraining.com/react-router/web/api/Route/route-render-methods所以可能是这样的:

<Route path="/somepath">{({match,location,history})=> match? <Link ..>: null}</Route>

实际上这是NavLink的实施方式。