【问题标题】:reactjs/react-router-dom: Browserrouter routing questionreactjs/react-router-dom: Browserrouter 路由问题
【发布时间】:2020-03-09 13:16:26
【问题描述】:

这可能是一个非常简单的问题,但我无法通过搜索找到答案。

我正在使用 ReactJs 编写一个应用程序,并且正在使用 react-router-dom 的浏览器路由器进行路由。

当我输入 '/login' 作为 URL 时,下面的代码将返回 Profile 组件,而不是预期的 Login 组件。如何确保这将按预期登陆到 Login 组件?

import React from 'react';
import { BrowserRouter, Route } from "react-router-dom";
import Home from "./routes/Home";
import Profile from "./routes/Profile";
import Post from "./routes/Post"
import Login from "./routes/Login"

function App() {
  return (
    <BrowserRouter>
        <Route path="/" exact={true} component={Home}/>
        <Route path="/login" exact={true} component={Login}/>
        <Route path="/r/:postid" exact={true} component={Post}/>
        <Route path="/:username" exact={true} component={Profile}/>
    </BrowserRouter>
  );
}

export default App; 

【问题讨论】:

标签: reactjs react-router


【解决方案1】:

您可以改用Switch,因为它会渲染与位置匹配的第一个子&lt;Route&gt; 或&lt;Redirect&gt;。

例子:

<BrowserRouter>
    <Switch>
        <Route path="/" exact={true} component={Home}/>
        <Route path="/login" exact={true} component={Login}/> 
    </Switch>
</BrowserRouter>

【讨论】:

    猜你喜欢
    • 2019-03-17
    • 2019-01-15
    • 2022-06-15
    • 2022-01-09
    • 2020-10-14
    • 2020-04-14
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    相关资源
    最近更新 更多