当用户使用打字稿关闭React中的窗口(或选项卡)时,我试图显示一个对话框。
我了解到我们无法覆盖默认对话框。可以,但是对我来说,默认对话框也不会出现。
如果我在Chrome中调试react应用,则逐步执行时会显示该消息。如果不在调试中,则不显示该消息,并且页面已关闭。 在互联网上尝试了许多示例,但没有一个对我有用。 这是我最后的尝试,如前所述。 有想法吗?
interface IProsp{}
interface Istate{}
class ExtrasDesktop extends React.Component<IPros, IState>
{
componentDidMount()
{
window.addEventListener('beforeunload', this.keepOnPage);
}
componentWillUnmount()
{
window.removeEventListener('beforeunload', this.keepOnPage);
}
keepOnPage = (e: BeforeUnloadEvent): any =>
{
e.preventDefault();
const message = 'Some message';
e.returnValue = message;
return message;
}
render()
{}
}