我正在尝试将一个基于网络的React + Redux + MUI应用程序转换为电子应用程序。该应用程序有一个主AppBar,其中有多个下拉菜单,菜单项与应用程序的Redux商店挂钩。因此,这是一个相当典型的设置,为这些技术的合作,但我正在努力理解如何翻译(如果可能的话)到一个电子应用程序菜单。
因此,如果我有一个带有典型onClick
处理程序的MUI MenuItem,如下所示:
const [soneState, setSomeState] = useState();
const handleOnClick = (e) => {
const val = e.target.value;
console.log(`The value is ${val}`);
setSomeState(val);
}
Electron Menu的等价物是什么?假设我使用的是Redux存储,而不是本地组件状态。菜单中的许多处理程序通过fetch
与Express服务器通信。我一直在阅读通过contextBridge
进行的Electron进程间通信。但是我不确定电子菜单在等式中的哪一边。它能同时利用Redux存储和与主进程对话吗?我想我不能从菜单中进行fetch
调用吧?
1条答案
按热度按时间jqjz2hbq1#
好吧我想我明白了...
我可以使用这里的官方文档中描述的模式在我的
preload.js
中创建一个API,然后应用菜单可以调用它来向渲染进程发送消息。然后,我将菜单定义为:
在我的
main.js
中,我有:我的React/Redux/MUI前端代码中的大部分内容都可以保持不变,但我需要从前端的
window
对象访问API,并监听来自Main进程的事件(如来自应用菜单)。测试过了,效果很好。在我的代码中几乎没有什么实际的变化。