gpt4 book ai didi

reactjs - ElectronJS React自定义菜单事件未定义

转载 作者:行者123 更新时间:2023-12-03 12:35:12 26 4
gpt4 key购买 nike

嗨,我将ElectronJS与React结合使用时,每当我单击lectorn js菜单上的保存按钮时,都会触发一个事件。我正在尝试监听组件中的事件,但是单击菜单项时出现此错误;

Uncaught Exception:
ReferenceError: Event is not defined
at click (/private/Apps/hosts/src/electron-starter.js:38:21)

这是我的代码;
const template = [
{
label: 'File',
submenu: [
{
label: 'Save', accelerator: 'Cmd+S',
click() {
console.log('send event');
new Event('save-hosts-file');
}
},
]
},
];

在我的组件中;
componentDidMount() {

document.getElementsByTagName("body")[0].addEventListener('save-hosts-file', function (e) { console.log('save file');}, false)
}

有什么想法为什么会这样?任何帮助,将不胜感激!

最佳答案

const template = [
{
label: 'File',
submenu: [
{
label: 'Save', accelerator: 'Cmd+S',
click() {
mainWindow.webContents.send('save-hosts-file');
}
},
]
},
];

componentDidMount() {
ipcMain.on('save-hosts-file', (event) => {
console.log('save file');
});
}

您应该记住两件事:

1)从 Electron 发送事件到 react 并在 react 中接收

从 Electron 发送事件以使用react- mainWindow.webContents.send
接收 Electron 发出的 react 事件- ipcRenderer.on

2)从 Electron 对事件的 react 到 Electron 的接收

发送事件以对 Electron 使用react- ipcRenderer.send
接收来自 react 发送的 Electron 中的事件- ipcMain.on

关于reactjs - ElectronJS React自定义菜单事件未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51894076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com