просто оберните содержимое 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)

Ответы на вопрос(3)

Ваш ответ на вопрос