javascript - 事件未在使用 Reactjs 新创建的窗口上触发

标签 javascript reactjs event-handling

当我新创建的窗口即将关闭时,我试图触发一个事件,但我什么也没得到。

这是我的代码:

import React from 'react';
var loginWindow = "";

class LoginPopup extends React.Component{
    constructor(props){
        super(props);
    }

    handleUnload = (ev) =>{
        debugger;
        ev.preventDefault();
        console.log("Hey it worked!");
        return "";
    };

    componentDidMount(){
        loginWindow = window.open('http://localhost:8030/google/login', '_blank', 'menubar=0,modal=yes');
        debugger;
        console.log(loginWindow);
        loginWindow.addEventListener("beforeunload", this.handleUnload);
    }

    render(){
        return null;
    }
}

最佳答案

您可以使用 componentWillUnmount() 生命周期方法来触发事件。
请参阅此处的文档 https://reactjs.org/docs/react-component.html#componentwillunmount

关于javascript - 事件未在使用 Reactjs 新创建的窗口上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43056366/

相关文章:

javascript - 有没有办法用 Javascript 跟踪选项卡上的焦点?

javascript - 使用 AJAX 获取 PHP 文件以从 MySQL 数据库检索数据时下拉表单消失

javascript - jQuery 树遍历获取不是父元素的元素?

ReactJS 直接设置状态和通过方法参数设置状态的区别

c# - 单击按钮时引发事件并将其订阅到另一个类中的事件处理程序?

c# - 何时连接事件处理程序 asp.net

javascript - 使用 jquery/javascript 样式化嵌套 div

javascript - 如何在 React 中实现输入更改时的去抖自动保存?

javascript - 如何从 fetch Promise 返回 Base64 数据?

javascript - Next.js 中的 getInitialProps 没有从服务器获取数据