Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 除一条路由外,所有路由是否都使用basename子目录?_Javascript_Reactjs_React Router_React Router Dom - Fatal编程技术网

Javascript 除一条路由外,所有路由是否都使用basename子目录?

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/~~ 任何帮助都将不

我的react应用程序正在集成到一个已经存在的Maven项目中,需要有一个子目录
/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>
  );
};