Я использую компонент подсказки React-Router, чтобы заблокировать пользователя от переключения вкладок, когда форма находится в грязном состоянии. Каждая вкладка имеет свой собственный маршрут, и я использую history.push
для обновления URL. Prompt
отображается, как и ожидалось, когда форма грязная, но пользователь по-прежнему перенаправляется на новый URL, когда нажимает «отменить».
Вот функция, которая обрабатывает переключение вкладок и обновление URL.
const handleClick = (tabId, disabled, route) => {
if (disabled) {
return false;
}
setSelectedIndex(tabId);
if (route) {
history.push(route);
}
return true;
};
Я предполагаю, что history.push
выполняется независимо от того, что.
Каждый пример использования Prompt
показывает, что он используется с Link
. Есть ли способ заставить Prompt
работать с history.push
?