在以前版本的React Router中,我们有router.match()
函数,它将告诉我们给定路径是否是有效路径。我如何在4.0中做同样的事情?
上下文:我们有从数据填充的链接。通常,这些链接在我们的路由器中有效,但并非所有链接都有效。在这些情况下,我们希望将Link
与a
相关联。具体来说,路径可能是外部链接,在这种情况下,我们知道我们不想要Link
组件,并且传递外部链接将导致路由器失败。
答案 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
的实施方式。