Javascript 除一条路由外,所有路由是否都使用basename子目录?
我的react应用程序正在集成到一个已经存在的Maven项目中,需要有一个子目录Javascript 除一条路由外,所有路由是否都使用basename子目录?,javascript,reactjs,react-router,react-router-dom,Javascript,Reactjs,React Router,React Router Dom,我的react应用程序正在集成到一个已经存在的Maven项目中,需要有一个子目录/My 因此,所有的路由都需要有/my/~~的基本名称。但是,有一个路由不需要子目录,如果应用,命中该路由将导致无限循环 特定路径为/logout。因此,点击/my/logout会导致无限循环 项目中只有一个引用链接到注销路径,并且该引用是链接 <Link to={"/logout"}>Logout</Link> 因此,除了注销到/LogOut之外,所有都可以转到/my/~~ 任何帮助都将不
/My
因此,所有的路由
都需要有/my/~~
的基本名称
。但是,有一个路由不需要子目录,如果应用,命中该路由将导致无限循环
特定路径为/logout
。因此,点击/my/logout
会导致无限循环
项目中只有一个引用链接到注销
路径,并且该引用是链接
<Link to={"/logout"}>Logout</Link>
因此,除了注销到/LogOut
之外,所有
都可以转到/my/~~
任何帮助都将不胜感激。不。您不能这样做 页面上不应该有多个
浏览器路由器
不管怎样,这都是行不通的,因为它正在与最近的路由器祖先对话。包装另一个路由器后,就创建了一个新的历史实例,从而创建了路由和链接的整个子集
唯一的解决办法是,不要为注销创建路由
,而是在注销按钮所在的组件中使用onClick
功能处理注销
功能。谢谢。这就是我所想的,在文档中找不到任何解决方法
const App = () => {
return (
<div className="App">
<Router basename="/my/">
<Switch>
<Route path="/login" component={Login} />
<Route exact path={"/"} component={Login} />
<Route path="/forgotpassword" component={ForgotPassword} />
<Route
path="/website-user/reset-password/:token/:userId"
component={ResetPassword}
/>
<Route
path="/complete-registration/:token/:userId"
component={FinishRegistration}
/>
<Route path={"/register"} component={Login} />
<Route
path="/register?email=:email&telephone=:telephone"
component={Login}
/>
<Route path={"/"} component={SubNav} />
</Switch>
<Route path={"/overview"} component={Overview} />
<Route path={"/favourites"} component={Favourites} />
{/* How to get LogoutComponent to go to /logout instead of /my/logout */}
<Route path={"/logout"} component={Logout} />
</Router>
</div>
);
};