【发布时间】:2016-12-28 09:42:44
【问题描述】:
我有一个使用带有嵌套路由的反应路由器的 Redux 应用程序,如下所示:
<Provider store={store}>
<Router history={browserHistory}>
<Route name="sales" path="/" component={App}>
<IndexRoute name="home" component={Home} />
<Route name="reports" path="/reports" component={Reports}>
<IndexRoute name="reports-home" component={ReportsHome} />
<Route name="report-1" path="/reports/report-1" component={Report1}/>
<Route name="report-2" path="/reports/report-2" component={Report2}/>
</Route>
</Route>
</Router>
</Provider>
我正在尝试编写一个面包屑组件;所以希望能够确定当前路线。
我已经使用 react router 提供的 withRouter 函数将组件配置为接收路由器:
Breadcrumbs = withRouter(Breadcrumbs);
这给了我一个看起来像这样的路由器对象:
Object {__v2_compatible__: true}
__v2_compatible__: true
createHref: createHref(location, query)
createKey: createKey()createLocation: createLocation(location)
createPath: createPath(location, query)
go: go(n)
goBack: goBack()
goForward: goForward()
isActive: isActive(location)
listen: listen(listener)
listenBefore: listenBefore(hook)
push: push(location)
pushState: ()
registerTransitionHook: registerTransitionHook(hook)
replace: replace(location)
replaceState: ()
setRouteLeaveHook: listenBeforeLeavingRoute(route, hook)
setState: ()
transitionTo: transitionTo(nextLocation)
unregisterTransitionHook: unregisterTransitionHook(hook)
__proto__: Object
我可以用它来确定当前路线吗?有没有更好的办法?
【问题讨论】:
-
isActive可用于确定位置路径名是否处于活动状态
标签: redux react-router