首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能导入ipcRenderer反应元件中的电子

不能导入ipcRenderer反应元件中的电子
EN

Stack Overflow用户
提问于 2022-01-03 08:09:15
回答 2查看 694关注 0票数 2

因此,我试图将ipcRenderer导入到一个反应组件中,以便与电子端进行通信。问题是我不能进口电子。我试过了

代码语言:javascript
运行
复制
import { ipcRenderer } from 'electron/renderer'

返回模块电子/渲染器未找到

代码语言:javascript
运行
复制
import { ipcRenderer } from 'electron'

返回fs.existsSync不是一个函数

代码语言:javascript
运行
复制
const renderer = require('electron');

返回fs.existsSync不是一个函数

代码语言:javascript
运行
复制
const renderer = require('electron').ipcRenderer;

返回fs.existsSync不是一个函数

代码语言:javascript
运行
复制
const renderer = window.require('electron');

返回window.require不是一个函数

我不知道该怎么办了,我什么都试过了

EN

回答 2

Stack Overflow用户

发布于 2022-01-06 13:34:59

这样啊,原来是这么回事!他们使用电子反应板编写了一个自定义preload.js脚本,该脚本向呈现的组件公开三个函数:myPing:(只是一个演示,向控制台发送ping消息),并在 ipcRenderer方法上公开on

代码语言:javascript
运行
复制
import { Component } from 'react';
...
...
    class Hello extends Component {
      componentDidMount() {
        console.log('Mounted!', 'Window', window, 'electronApi', window.electron, 'ipcRenderer', window.electron.ipcRenderer);
    
        window.electron.ipcRenderer.on('ipc-example', (arg) => {
          // eslint-disable-next-line no-console
          console.log(arg);
        });
    
        window.electron.ipcRenderer.myPing();
      }
    
      render() {
        return (
          <div>
    ...
    ...
票数 0
EN

Stack Overflow用户

发布于 2022-11-25 06:23:23

我以前也有同样的问题。您不应该直接在渲染器/react组件中导入电子。相反,在您的preload.ts文件中,您可以使用电子反应板进行一些基本配置。

因此,在您的react组件中,您应该使用下面的window.electron.ipcRenderer.on('channel-name', args)示例

代码语言:javascript
运行
复制
  const myEventHandler = () => {
    window.electron.ipcRenderer.on('channel-name', (event, data) => {
      console.log('data, event', data, event);
    });
  };

window.electron,这里的电子是preload.ts文件中给出的名称。contextBridge.exposeInMainWorld('electron', {...})

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70563065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档