And*_*ena 7 javascript reactjs electron redux
我正在构建一个基于React和Redux 的Electron应用程序.我开始使用电子反应样板,它非常简约且易于理解.
我希望用户在Electron菜单上打开一个文件,因此,我想调用reducer并更改Redux应用程序状态.非常简单的概念.
问题是我不知道如何从我的根组件外部更改Redux状态.Electron菜单在main.js文件中定义.根组件在index.js文件中与Redux state(store变量)一起定义.
在main.js文件中,我想做这样的事情:
submenu: [{
label: '&Open',
accelerator: 'Ctrl+O',
click: function() {
// I want to change my app Redux state here. But I don't know how.
}
}
Run Code Online (Sandbox Code Playgroud)
任何的想法?
Vad*_*gon 30
您可以在主进程中获取文件名,然后通过Electron IPC将其发送到渲染器进程,例如:
在 main.js
// mainWindow = new BrowserWindow();
submenu: [{
label: '&Open',
accelerator: 'Ctrl+O',
click: () => {
// popup a dialog to let the user select a file
// ...
// then send the filename to the renderer process
mainWindow.webContents.send('open-file', selectedFilename);
}
}]
Run Code Online (Sandbox Code Playgroud)
在 index.js
import { ipcRenderer } from 'electron';
ipcRenderer.on('open-file', (event, filename) => {
store.dispatch({ type: 'OPEN_FILE', filename });
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2932 次 |
| 最近记录: |