【发布时间】:2017-09-13 07:01:36
【问题描述】:
我有一个 React 应用程序,它共享一个外部脚本文件以使用 vanilla JS 构建公司范围的标题。该标头中有一个徽标,该徽标动态绑定到调用它的任何应用程序的根目录 (location.origin)。
捕获点击导航并改用 React Router v3 以前是微不足道的,因为在您设置路由的任何地方都可以访问 browserHistory:
import { browserHistory } from 'react-router';
function captureLogoClick() {
const logoLink = document.querySelector('#company-header .logo a');
if(logoLink) {
logoLink.addEventListener('click', (e) => {
e.preventDefault();
browserHistory.push('/');
});
} else {
// Resource hasn't loaded yet
setTimeout(captureLogoClick, 100);
}
}
captureLogoClick();
使用 React Router v4 (react-router-dom),如何在不将侦听器绑定到组件内部某处并使用 props.history 的情况下完成此操作?
【问题讨论】:
标签: javascript reactjs react-router react-router-v4 react-router-dom