Я пытаюсь запустить модальное окно, когда пользователь пытается перезагрузить страницу, посетить новый URL-адрес или закрыть окно / вкладку браузера.
На данный момент код успешно запускает модальное окно, но также появляется окно предупреждения по умолчанию, от которого я хочу избавиться:
Модальное окно отображается под окном предупреждений по умолчанию (с использованием FireFox).
Код:
componentDidMount() {
window.addEventListener('beforeunload', this.onUnload)
}
componentWillUnmount() {
window.removeEventListener('beforeunload', this.onUnload)
}
onUnload(event) {
event.preventDefault();
this.setState({ modalIsOpen: true })
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Для этого может быть более рекомендуемый способ, но переопределение функции alert должно работать:
onUnload(event) {
event.preventDefault();
const nativeAlert = window.alert
window.alert = console.info // Temporarily override the alert function
this.setState({ modalIsOpen: true })
window.alert = nativeAlert // Restore it to default
}
Для меня он не показывает предупреждение по умолчанию, но страница все равно перезагружается.
Спасибо за ввод, но похоже, что предупреждение по умолчанию все еще отображается