просто оберните содержимое Link внутри div и передайте onClick слушателю этого div, и он будет работать нормально. например:
тере React у меня естьв а такжепо щелчку атрибуты, как показано ниже
<li key={i}><Link to="/about" onClick={() => props.selectName(name)}>{name}</Link></li>
state = {
selectedName: ''
};
selectName = (name) => {
setTimeout(function(){this.setState({selectedName:name});}.bind(this),1000);
// this.setState({selectedName: name});
}
в атрибут переходит коколо маршрутпо щелчку присваивает значение переменной состояния selectedName, которая будет отображаться при переходе на страницу «О программе».Когда я даю вызванную по тайм-ауту функцию, вызываемую по щелчку, ее переход на новую страницу и через некоторое время состояние обновляется, в результате чего отображается прежнее имя, пока состояние не будет обновлено новым именем.
Есть ли способ, при котором он будет переходить на новый маршрут только после того, как код в функции onClick будет выполнен.
Вы можете получить весь код [здесь]. (https://github.com/pushkalb123/basic-react-router/blob/master/src/App.js)