如何在反应路由器 Dom v6 中导航到单独的 URL?

Posted

技术标签:

【中文标题】如何在反应路由器 Dom v6 中导航到单独的 URL?【英文标题】:How to Navigate to separate URL in react router Dom v6? 【发布时间】:2022-01-03 20:01:10 【问题描述】:

我正在制作一个验证表单,具有检查密码和电子邮件的功能,如果为真,它应该导航到单独的网站(而不是网络中的路径)。但它不起作用

下面是我的代码:

function validate() 
    if (email==='123@123.com' && password==="123456")
        console.log(email);
 history('http://www.dummy.com/webmail')



return
.
.
.
<Button className=stylesAuth.submitButton variant="warning" onClick=validate>

我应该怎么做?

【问题讨论】:

【参考方案1】:

由于您要重定向到外部网站,您可以简单地使用普通的旧 javascript 并执行以下操作:

window.location.href = "https://www.dummy.com/webmail";

有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/Location/href。

更多信息:在这种情况下使用history 没有意义,它仅用于Web 应用程序的内部导航。事实上,您甚至无法将外部 URL 推送到历史堆栈:

新网址必须与当前网址同源;否则, pushState() 将抛出异常。 https://developer.mozilla.org/en-US/docs/Web/API/History/pushState

【讨论】:

是的,明白了!成功了,谢谢

以上是关于如何在反应路由器 Dom v6 中导航到单独的 URL?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式重定向到反应路由器 v6 中的路由的问题

以编程方式重定向到反应路由器 v6 中的路由的问题

反应如何在 redux-saga 中导航路由器?

使用反应路由器 v6 的反应嵌入式登录实现

在另一个组件 V6 中反应路由

React-Router-Dom v6 保护路由