electron进程间通信-从主进程到渲染器进程

👨 作者简介:大家好,我是Taro,全栈领域创作者

✒️ 个人主页:唐璜Taro

🚀 支持我:点赞👍+📝 评论 + ⭐️收藏


文章目录


前言

主进程到渲染进程的通信在某些情况下非常有用,如更新UI。本文详细介绍了实现这一通信的两个关键API:web contents的send方法和ipc renderer的on方法,通过这两个API可以完成信息的发送和接收。


提示:以下是本篇文章正文内容,下面案例可供参考

一、核心API

  • 主进程使用webContents.send发送消息
  • 渲染进程使用ipcRenderer.on接收消息

二、应用场景

原生模块触发UI更新,如点击菜单后更新界面

三、实现步骤

原生模块触发UI更新,如点击菜单后更新界面

  • 主进程通过BrowserWindow获取webContents对象
  • 调用send方法发送事件和数据
  • 在preload.js中通过ipcRenderer.on建立事件监听
  • 通过contextBridge将回调函数暴露给渲染进程

四、三种通信模式对比

  • 渲染器→主进程(单向):ipcRenderer.send + ipcMain.on
  • 渲染器↔主进程(双向):ipcRenderer.invoke + ipcMain.handle
  • 主进程→渲染器(单向):webContents.send + ipcRenderer.on
  • WebContents对象包含丰富的事件和方法,是主进程控制渲染进程的核心接口

总结

以上就是今天要讲的内容,本文仅仅简单通过一个实例演示了如何在主进程中更新数据并通过发送信号在渲染进程中更新UI的过程。