Reactjs 未定义ElectronJS React自定义菜单事件
大家好,我正在使用ElectronJS,每当我在electorn js中单击菜单上的save按钮时,React都会尝试触发事件。我试图在一个组件中监听事件,但是单击菜单项我会得到这个错误Reactjs 未定义ElectronJS React自定义菜单事件,reactjs,events,electron,Reactjs,Events,Electron,大家好,我正在使用ElectronJS,每当我在electorn js中单击菜单上的save按钮时,React都会尝试触发事件。我试图在一个组件中监听事件,但是单击菜单项我会得到这个错误 Uncaught Exception: ReferenceError: Event is not defined at click (/private/Apps/hosts/src/electron-starter.js:38:21) 这是我的密码 const template = [ {
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将事件从电子发送到react,并在react中接收
将事件从electron发送到react-mainWindow.WebContent.send
接收从electron发送的react中的事件-ipc.on
2从react向电子发送事件,并在电子中接收事件
将事件从react发送到electron-ipcRenderer.send
接收从react-ipcMain.on发送的电子中的事件它是react侧的IPC渲染器process@pergy我的错。谢谢