Redirect 如何在不更改url的情况下在React路由器中重定向
如何实现Redirect 如何在不更改url的情况下在React路由器中重定向,redirect,react-router,Redirect,React Router,如何实现maybeGoToBar,以便根据名称显示Foo组件或Bar组件,而不更改url 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 loca
maybeGoToBar
,以便根据名称显示Foo
组件或Bar
组件,而不更改url
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} >
函数maybeGoToBar(nextState、replace、callback){
const name=nextState.params.name;
如果(姓名==“鲍勃”){
//做些事情去酒吧
//但是继续显示/bob/foo作为当前位置
//在浏览器地址栏中
}
回调();
}
您需要使用内存历史记录
听起来你不应该用路由器来做这件事。你应该在你的组件中存储一个状态变量(如果需要的话,它的初始值可以从url中获取),并且你应该根据状态选择要显示的子项。我了解到这个选项的可能重复之处是,路由器没有处理初始url(用于打开页面)。