ipcRenderer 没有被触发

ipcRenderer not getting triggered

我正在尝试使用 IPC 在 我的反应组件 主电子过程 之间进行通信。 In component :

export default class A extends React.Component{
.....
  openFile = () => {
    console.log('test');
    ipcRenderer.send('file-command', 'open');
  };
.....
}

并且在 main.dev.ts 中:

  mainWindow.webContents.on('file-command', () => {
    console.log('file open request');
  });

  mainWindow.on('file-command', () => {
    console.log('file open request');
  });

  ipcRenderer.on('file-command', () => {
    console.log('file open request');
  });

全部单独试过。但是 none 这些作品。

如何在我的 react-electron 应用程序中正确使用 IPC。我用过这个样板:https://github.com/electron-react-boilerplate/electron-react-boilerplate

ipcRenderer 是您应该并且确实在渲染器进程中使用的模块(如果没有 contextIsolation,则脚本附加到 HTML 页面,否则预加载)。

要在主进程中使用的模块称为 ipcMain

const {ipcMain} = require('electron');

ipcMain.on('file-command', () => {
  console.log('file open request');
});

您可能还想分别查看 ipcRendereripcMain 中的 invoke/handle。他们让使用 IPC 的工作变得更加愉快。