Javascript React Router-打开新选项卡上的链接并重定向到主页
使用React路由器4.2 我的尝试是在单击导航链接时打开一个新选项卡,同时重定向到站点主页 ie:导航栏:单击策略 尽管下面的代码与上面的要求一样:这是一种明智的方法吗? 旨在学习Routes.js上的最佳实践Javascript React Router-打开新选项卡上的链接并重定向到主页,javascript,reactjs,react-router,Javascript,Reactjs,React Router,使用React路由器4.2 我的尝试是在单击导航链接时打开一个新选项卡,同时重定向到站点主页 ie:导航栏:单击策略 尽管下面的代码与上面的要求一样:这是一种明智的方法吗? 旨在学习Routes.js上的最佳实践 //Routes.js 从“./policies.pdf”导入HandbookDoc ... window.open(`${HandbookDoc}',`u blank')。然后(window.location='/')} /> //Navigation.js(使用react路由
//Routes.js
从“./policies.pdf”导入HandbookDoc
...
window.open(`${HandbookDoc}',`u blank')。然后(window.location='/')}
/>
//Navigation.js(使用react路由器引导)
财政援助
政策
你不需要为你想要实现的目标创建新的路线。您可以向菜单项添加onClick
处理程序,如下所示:
<NavDropdown eventKey={3} id="formId" title="Registration">
<LinkContainer to="/registration/financial-aid">
<MenuItem eventKey={3.1}>Financial Aid</MenuItem>
</LinkContainer>
<LinkContainer
to="/">
<MenuItem onClick={this.handlePoliciesClick} eventKey={3.2}>Policies</MenuItem>
</LinkContainer>
</NavDropdown>
请记住导入您的手册文档
路径/registration/policies
是否存在于此处?我只需在policies
上添加一个onClick侦听器,然后在那里执行您需要的操作。routes.js
上设置的路径与navigation.js
上传递的路径匹配。如何在这种情况下设置onClick?在MenuItem
上添加一个包含策略的onClick处理程序。在那里,您可以执行window.open()
,以及browserHistory.push('/')
。介意给我一个答案吗?我还没有玩太多的browserHistory.push()
非常感谢你,通过代码将你的解释/建议形象化在我的脑海中是有意义的。唯一的问题是browserHistory
没有重定向到主页…您是否已删除LinkContainer
中的to
属性?我已删除。事实上,我一起删除了LinkContainer,因为他们的api上需要to
,否则会抛出一个错误。奇怪。browserHistory是否将您重定向到其他地方?或者它根本就不起作用?它停留在同一页上。情景2。如果我离开到=“/”
它会将我重定向回家。这意味着BrowserHistory不会单独触发。但是“在新选项卡上打开”单击处理程序可以工作。
<NavDropdown eventKey={3} id="formId" title="Registration">
<LinkContainer to="/registration/financial-aid">
<MenuItem eventKey={3.1}>Financial Aid</MenuItem>
</LinkContainer>
<LinkContainer
to="/">
<MenuItem onClick={this.handlePoliciesClick} eventKey={3.2}>Policies</MenuItem>
</LinkContainer>
</NavDropdown>
handlePoliciesClick = () => {
window.open(HandbookDoc, '_blank');
}