如何重定向到个人资料?

Posted

技术标签:

【中文标题】如何重定向到个人资料?【英文标题】:How to Redirect to Profiles? 【发布时间】:2021-09-10 11:34:31 【问题描述】:

如果有人点击个人资料,我想重定向

<Link to="/">Home</Link>
<Link to="/profiles">Profiles</Link>

我尝试使用“重定向”,但是当我加载我的页面时,它默认为“/profiles”而不是默认为“/”(对不起,如果其他人也问了同样的问题)

这是我的路线

<Router>
  <Navbar />
  <Switch>
    <Route exact path="/">
      <Home />
    </Route>
    <Route path="/profiles">
      <Profile />
    </Route>
</Router>

【问题讨论】:

如果“/profiles”链接被点击,我希望导航“/profiles”。但是您正在考虑页面加载时间和一些“默认”路线。我认为您的路线没有问题,有什么问题? 我想在不加载现有导航栏的情况下重定向到“/profiles”(抱歉我的解释不好) 这是什么意思?你想重定向到哪里(Redirect 组件或history.replace)? 重定向组件 如果有人使用&lt;Link to="/profiles"&gt;Profiles&lt;/Link&gt; 点击个人资料,您是否希望人们被重定向到“/”?如果是,为什么配置文件组件存在于 Route 中?如果重定向需要特定条件,可以在路由内部使用三元运算符进行处理(类似于redirectCondition ? &lt;Redirect to="/" /&gt; : &lt;Profile /&gt; 【参考方案1】:

是的,您可以在您的个人资料路由中使用 exact 并在路由顶部添加重定向方法。像这样。

<Router>
  <Navbar />
  <Switch>
   
      /* Redirect from root URL to /dashboard. */
      <Redirect exact from="/" to="/profiles" />
    
    <Route path="/">
      <Home />
    </Route>
    <Route exact path="/profiles">
      <Profile />
    </Route>
</Router>

【讨论】:

这里完全不需要 exact 属性。此外,从“/”主路径中删除它而不重新排序路由意味着只有“/”主路径可以匹配和呈现。无法访问“/profiles”。 现在“/”主页是无法访问的,如果试图准确地点击“/”(并且没有其他非配置文件路由)。 是的,因为如果您在路线中获得“/”,则此条件会重定向到配置文件页面,因此您需要在路线中添加条件,或者您可以将主路线“/”更改为“/home”。跨度>

以上是关于如何重定向到个人资料?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Passport 进行社交身份验证登录后如何重定向到个人资料页面? (角度,快递,护照,jwt)

解决 REST 请求后如何重定向用户

如何使用护照发送成功重定向的用户个人资料数据?

如何进行目录重定向

从应用内打开时,阻止 Firebase 动态链接重定向到浏览器

中间件,检查 Laravel 5 后如何重定向