reactjs - ipcRenderer 没有被触发
问题描述
我正在尝试使用 IPC 在我的反应组件和主电子过程之间进行通信。 在组件中:
export default class A extends React.Component{
.....
openFile = () => {
console.log('test');
ipcRenderer.send('file-command', 'open');
};
.....
}
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');
});
都分别试了。但这些都不起作用。
如何在我的 react-electron 应用程序中正确使用 IPC。我用过这个样板:https ://github.com/electron-react-boilerplate/electron-react-boilerplate
解决方案
ipcRenderer
是您应该在渲染器进程中使用的模块(如果没有,则附加到 HTML 页面的脚本contextIsolation
,否则预加载)。
在主进程中使用的模块称为ipcMain
.
const {ipcMain} = require('electron');
ipcMain.on('file-command', () => {
console.log('file open request');
});
您可能还想分别查看invoke
/ handle
inipcRenderer
和ipcMain
。它们使与 IPC 的合作更加愉快。
推荐阅读
- vim - 如何在命令行模式下打印 vim 寄存器值?
- javascript - 如何在Vue中将参数绑定到子函数
- postgresql - Postgres:从多语言列中选择一种语言版本的值
- c# - 由于意外的 TypeInitializationException,Azure 应用服务无法运行 Aspnet 核心应用
- javascript - 如何在谷歌地理图表上绘制英国城镇
- python-3.x - numpy genfromtxt 中的空标题名称问题
- excel - 运行时错误 1004:对象 '_Worksheet' 的方法 'Activate' 失败
- tensorflow - 转换为 Tensorflow Lite 时出现 tf.ParseExampleV2 的问题:“op 既不是自定义操作也不是弹性操作”
- r - R中同心圆中的地理编码点数
- php - 如何制作 GPS - EXIF 数据