首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法“突破”一个带有相对链接的react应用程序?

有没有办法“突破”一个带有相对链接的react应用程序?
EN

Stack Overflow用户
提问于 2018-08-21 20:45:17
回答 1查看 518关注 0票数 2

上下文

我们有两个不同的React JS应用程序,它们都部署在一个代理之后。

代理为根/位置上的一个应用程序(让我们称之为主页)提供服务。它在子路径上为另一个提供服务,例如/application-a/。因此,两者都在同一个域中,例如https://my-site.com/https://my-site.com/application-a/

如果我打开两个新的浏览器窗口,其中一个直接导航到/,另一个直接导航到/application-a/,效果会很好。

当我想在根路径应用程序(主页)中使用HTML a标记,并使用相对href将其链接到在/application-a/子路径上运行的应用程序时,问题就来了。

在这种情况下,我相信路由器开始工作,并希望这是路由在本地应用程序。我想尝试“逃脱”或者“突破”react路由器。

可能的解决方案

  1. 我认为如果根应用中的锚标签hreftarget属性值为_blank,则可以正常工作-但这并不可取,因为它会强制加载新的选项卡。
  2. 如果我使用绝对href值,那么我认为它将“转义”SPA,并在同一个选项卡中访问新页面。听起来很棒--但是现在我不得不使用绝对网址,这使得代码在开发/暂存/直播等之间的可移植性变得较差。
  3. 显式地在路由器中为/application-a/设置了匹配的路由,并编程更改了window.location?我可以看到这可能会起作用,但对我来说感觉很混乱。

问题

有没有一种方法可以使用好的老式锚点标记,或者提供某种类型的属性,告诉react路由器“别管我”,让我在静态HTML/非SPA/非React JS页面中表现得像一个“常规”锚点。如果没有,任何其他建议都将不胜感激。

类似的悬而未决的问题:Navigating out of a react-router single page application on the same host

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51948989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档