Reactjs BrowserRouter未重定向到basename(反应路由器-dom@5.1.2)
我正在使用反应路由器-dom@5.1.2 该项目是使用基本的Create React应用程序创建的 我的index.js中有以下代码Reactjs BrowserRouter未重定向到basename(反应路由器-dom@5.1.2),reactjs,react-router-dom,Reactjs,React Router Dom,我正在使用反应路由器-dom@5.1.2 该项目是使用基本的Create React应用程序创建的 我的index.js中有以下代码 <BrowserRouter basename="/login"> <App /> </BrowserRouter> 当我启动开发服务器时,它仍然指向localhost:3000。理想情况下,它应该指向localhost:3000/login不重定向,它只是通知路由器在路由器将读取和修改的URL部分之前有一段URL
<BrowserRouter basename="/login">
<App />
</BrowserRouter>
当我启动开发服务器时,它仍然指向localhost:3000
。理想情况下,它应该指向localhost:3000/login
不重定向,它只是通知路由器在路由器将读取和修改的URL部分之前有一段URL
在您的路由中,只需在底部添加一个,这样,如果您的其他路由都不匹配,它将带您进入登录页面。假设您没有
/
路线,这将满足您的需要。我也有/
路线。但是我需要我的应用程序以localhost:3000/login
启动。另外,如果我添加
,它会重定向到预期的/login/login
。这会让事情变得棘手,因为你告诉react router/
和/login
都是有效路径,但当你输入//code>时,你会得到另一条路径。但这仍然是可能的。我假设您只想在他们尚未登录时将他们发送到/login
?是的。有点实际上,我刚开始开发我的项目。所以,我现在只检查基本的。我没有为注销用户提供任何逻辑。因此,/
和/login
在我将basename标记为/login
和route标记为/
时给出了相同的视图。理想情况下,映射到/
的视图应仅在路径为/login
时呈现(如果我是对的)。此外,我收到警告,因为您试图在URL路径不以basename开头的页面上使用basename。
在这种情况下,您真的不应该设置basename
。警告是正确的。我应该在我的回答中包括这一点。