Используйте подсказку от React Router, чтобы заблокировать history.push - PullRequest
0 голосов
/ 25 февраля 2020

Я использую компонент подсказки 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...