如何在嵌套非<a>元素的Next.js <Link>中设置target='_blank'
我需要实现点击按钮时在新浏览器标签页打开指定URL,但在Next.js的<Link>元素内使用<Button>这类非<a>元素时,<a>标签的target="_blank"属性会被忽略,导致URL始终在当前标签页跳转。
当前的无效代码结构:
<Link passHref href={applicationUrl}> <Button className={styles.button}> <a target="_blank">Apply</a> </Button> </Link>
如果移除中间的<Button>组件,功能就能正常实现,但由于样式需求,我不能轻易移除这个组件:
<Link passHref href={applicationUrl}> <a target="_blank">Apply</a> </Link>
调整<Button>与<a>的嵌套顺序即可解决问题,既保留原有样式,又能实现新标签页跳转,代码如下:
<Link passHref href={applicationUrl}> <a target="_blank"> <Button className={styles.button}> Apply </Button> </a> </Link>
内容的提问来源于stack exchange,提问作者Egemen Baki
相关产品推荐
相关产品推荐

