ipcMain侦听器未正确注册

时间:2019-05-18 05:22:12

标签: javascript reactjs electron ipcrenderer ipcmain

我在电子应用程序的主进程和渲染器进程之间遇到ipc消息方面的麻烦。

ipcRenderer正确发送了消息(我可以从devtron看到消息),但是ipcMain没有收听任何消息

main.js中的代码

const {ipcMain} = require("electron");
...
let mainWindow;

function createWindow() {
...
  ipcMain.on("mainWindow-minimize", (event, arg) 
  => {
    console.log("On minimize from main");
    mainWindow.minimize();
  });
...
}

app.on("ready", createWindow);

renderer.jsx中的代码

import React from "react"
impor {ipcRenderer} from "electron"
...
export default class App Extends React.Component {
  constructor(props) {
    super(props);
    this.headerOnClick = this.headerOnClick.bind(this);
  }

  headerOnClick(message, event) {
    console.log("button clicked");
    ipcRenderer.send(message)
  }
  render() {
    return (
      <button onClick={() => this.headerOnClick("mainWindow-minimize", event)} />
    )
  }
}

1 个答案:

答案 0 :(得分:0)

我认为您需要在main中调用createWindow函数,以便创建侦听器。