我有新的反应,并在一个组件中有这个链接:
<a href="https://example.com/faq.html"> FAQ </a>
我希望服务器faq.html
在外面做出反应。
问题是react将链接视为内部链接并给出404.
我看过a similar提示使用<Route ...
的问题,但后来我不知道如何将超链接转换为路线。
另外,我知道我可以在标记中添加target="_blank"
,但这不是我理想的解决方案。
非常感谢您帮助解决这个问题。
答案 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>
希望它有效!!