Javascript 将target=\u blank添加到react中的link-in按钮不会打开新页面,但会禁用它吗?
我正在开发一个带有React+Material UI的网页。我想打开指向指定链接的新选项卡,并尝试了此操作。如果我没有添加target=\u blank,它会重定向到链接,但它会在同一个选项卡中打开。如果我添加target=\u blank,按钮根本不起作用?我的反应路由dom版本是^5.2.0。我在edge和chrome上试过,所以问题不是特定于浏览器。我使用的是has路由器,应用程序可能部署到具有不同基本url名称的服务器,因此我希望避免将url硬编码为“http://...“。任何帮助都将不胜感激Javascript 将target=\u blank添加到react中的link-in按钮不会打开新页面,但会禁用它吗?,javascript,reactjs,react-router-dom,Javascript,Reactjs,React Router Dom,我正在开发一个带有React+Material UI的网页。我想打开指向指定链接的新选项卡,并尝试了此操作。如果我没有添加target=\u blank,它会重定向到链接,但它会在同一个选项卡中打开。如果我添加target=\u blank,按钮根本不起作用?我的反应路由dom版本是^5.2.0。我在edge和chrome上试过,所以问题不是特定于浏览器。我使用的是has路由器,应用程序可能部署到具有不同基本url名称的服务器,因此我希望避免将url硬编码为“http://...“。任何帮助都将
const markLink = (
<Link
to={
{
pathname: "/AssessmentList",
search: "?groupId =" + this.state.groupId + " & unitOfferingId=" + this.state.unitOfferingId
+ "&userId=" + this.state.userId + "&role=" + this.state.role + "&groupName=" + this.state.selectedGroup.group_name
}
}
target="_blank"
style={{ textDecoration: "none", color: "white" }}
>
Mark
</Link>);
const markLink=(
做记号
);
然后我把它用在我的按钮上
<ButtonMenu items={[]} name={markLink} working={this.state.project_archived} action={() => {
}} />
{
}} />
编辑:我还尝试了target={“\u blank”}。我在以前的文章中尝试过这些建议,但似乎大多数URL需要是“http://”,而不是相对路径。我不知道如何传递动态URL。使用
react router
的目的是根据URL
呈现组件。如果您计划在新链接上打开页面,只需使用常规的a
元素即可
const { groupId, unitOffering, userId, role, selectedGroup } = this.state;
const path = `/AssessmentList?groupId=${groupId}&unitOfferingId=${unitOfferingId}&userId=${userId}&role=${role}&groupName=${selectedGroup.group_name}`;
return (
<a
href={path}
target="_blank"
rel="noopener noreferrer"
style={{ textDecoration: "none", color: "white" }}>
Mark
</a>
);
const{groupId,unitOffering,userId,role,selectedGroup}=this.state;
const path=`/AssessmentList?groupId=${groupId}&unitOfferingId=${unitOfferingId}&userId=${userId}&role=${role}&groupName=${selectedGroup.group_name};
返回(
);
你试过target={“\u blank”}
吗?是的,我也试过了,这回答了你的问题吗?不,我访问过那个页面。那里的大多数答案都必须使用“http:”输入URL,我不知道如何传入动态URL?如果我不使用标记,路由将在开始时没有#,这将导致找不到该页并将其重新路由到索引页。我正在使用哈希路由器。能否将#
添加到path变量?但我之前的回答仍然有效,如果您在新选项卡中打开,则无需使用react-router的链接
。然而,我尝试将其设置为按钮样式,如果我在标签中嵌入按钮标签,问题仍然存在?这是另一个问题:-)