【发布时间】:2017-07-30 20:51:42
【问题描述】:
我如何实现maybeGoToBar 以便 - 根据名称 - 我显示Foo 组件或Bar 组件而不更改网址?
function maybeGoToBar(nextState, replace, callback) {
const name = nextState.params.name;
if (name === "Bob") {
// do something to route to /bar
// but keep showing /bob/foo as the current location
// in the browser address bar
}
callback();
}
<Route path=":name/foo" onEnter={maybeGoToBar} component={Foo} >
<Route path="bar" component={Bar} >
【问题讨论】:
-
听起来您不应该使用路由器来执行此操作。您应该在组件中存储一个状态变量(如果需要,它的初始值可以从 url 中获取)并且您应该根据状态选择要显示的子项。
标签: redirect react-router