作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Using React Router 4.2
我的尝试是在点击导航链接时打开一个新标签,同时被重定向到网站主页。
即:导航栏:点击政策
即使下面的代码符合上面的要求:这是明智的做法吗?旨在学习 Routes.js 上的最佳实践。
//Routes.js
import HandbookDoc from './policies.pdf'
...
<Route
path="/registration/policies"
component={() => window.open(`${HandbookDoc}`,'_blank').then(window.location= '/')}
/>
....
//Navigation.js (using react-router-bootstrap)
<NavDropdown eventKey={3} id="formId" title="Registration">
<LinkContainer to="/registration/financial-aid">
<MenuItem eventKey={3.1}>Financial Aid</MenuItem>
</LinkContainer>
<LinkContainer to="/registration/policies">
<MenuItem eventKey={3.2}>Policies</MenuItem>
</LinkContainer>
</NavDropdown>
最佳答案
您无需为要实现的目标创建新路线。您可以像这样向 MenuItem
添加一个 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>
然后在同一组件中添加处理程序:
handlePoliciesClick = () => {
window.open(HandbookDoc, '_blank');
}
记得导入您的HandbookDoc
。
关于javascript - React Router - 在新选项卡上打开链接并重定向到主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434254/
我是一名优秀的程序员,十分优秀!