如何使外部超链接做出反应?

时间:2018-05-15 12:20:44

标签: reactjs react-router

我有新的反应,并在一个组件中有这个链接:

<a href="https://example.com/faq.html"> FAQ </a>

我希望服务器faq.html在外面做出反应。

问题是react将链接视为内部链接并给出404.

我看过a similar提示使用<Route ...的问题,但后来我不知道如何将超链接转换为路线。

另外,我知道我可以在标记中添加target="_blank",但这不是我理想的解决方案。

非常感谢您帮助解决这个问题。

2 个答案:

答案 0 :(得分:4)

你想多了。您可以像使用 HTML 一样执行此操作。这就是 JSX 的重点。你不需要路由。在此上下文中,外部链接不是路由。也许您弄错了一些周围的代码,但从您的示例中看不到这一点。

如果您想包含其他组件,您需要将它们包装在所有一个组件中。例如使用 'Div' 或片段 <>。否则,您可以像使用 HTML 一样执行此操作。

*rel="noreferrer" 建议用于安全。

  <a href="https://example.com/faq.html" rel="noreferrer">
    FAQ
  </a>

答案 1 :(得分:1)

首先,您需要创建一个新的Route let faq

<Route path='/faq' component={() => window.location = 'https://example.com/faq.html'}/>

然后将您的anchor代码href属性更改为

<a href="/faq"> FAQ </a>

希望它有效!!