【发布时间】:2023-03-10 19:26:01
【问题描述】:
使用 React Router 4.2
我的尝试是在点击导航链接时打开一个新标签,同时重定向到网站主页。
ie:导航栏:点击策略
即使下面的代码符合上述要求:这是可取的方法吗? 旨在在 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>
【问题讨论】:
-
路径
/registration/policies有什么理由存在这里吗?我只需在policies上添加一个 onClick 侦听器,然后在那里做你需要的东西。 -
routes.js上设置的路径与navigation.js上传递的相同。您将如何在这种情况下设置 onClick? -
通过在包含
Policies的MenuItem上添加一个onClick 处理程序。在那里,您可以执行window.open()和browserHistory.push('/') -
确实如此。介意发布答案吗?我没玩过
browserHistory.push()
标签: javascript reactjs react-router