Лично я думаю, что это очень плохой, недоступный дизайн UX, но если вы хотите пойти дальше и сделать это, вам нужно реализовать обработчик onMouseEnter, например:
handleOnMouseEnter(path) {
const { history } = this.props;
console.log("handleOnMouseEnter: ", path);
history.push(path);
}
Чтобы получить доступ к объекту history
внутри реквизита, вам нужно обернуть ваш компонент в withRouter
HOC, примерно так:
const WrappedApp = withRouter(App);
const rootElement = document.getElementById("root");
ReactDOM.render(
<Router>
<WrappedApp />
</Router>,
rootElement
);
Тогда ваш NavItem будет выглядеть примерно так:
<NavItem
eventKey="sites"
onMouseEnter={() => this.handleOnMouseEnter("/sites")}
>
<NavText>
<Link to="/sites">Sites</Link>
</NavText>
</NavItem>
См. этот CodeSandbox для работающей реализации.