Electron 一次传递一个字母的字符串

Electron 一次传递一个字母的字符串,electron,ipcrenderer,Electron,Ipcrenderer,我正在尝试使用ipc进程将字符串从render传递到main。出于某种原因,它a)反复发射,b)一次只发送一封信,尽管我可以肯定地看到整个字符串在发送之前都已设置好。到底发生了什么?我如何将其压缩回一个包含正确字符串的调用 渲染器: const electron = window.require('electron'); . . . //by now username = "demouser" electron.ipcRenderer.once('verifySubscriptionRespon

我正在尝试使用ipc进程将字符串从render传递到main。出于某种原因,它a)反复发射,b)一次只发送一封信,尽管我可以肯定地看到整个字符串在发送之前都已设置好。到底发生了什么?我如何将其压缩回一个包含正确字符串的调用

渲染器:

const electron = window.require('electron');
.
.
.
//by now username = "demouser"
electron.ipcRenderer.once('verifySubscriptionResponse', (event, token, errorMessage) => {
    console.log('handleLoginAttempt');
    console.log('username variable:' + username);
    electron.ipcRenderer.send("proceedToApp", username);
}
主要内容:

在渲染器中,我得到了简单的输出

> handleLoginAttempt
> usernameVariable: demouser
但总的来说,我得到了以下结果:

passed in username:d
set username:d
passed in username:de
set username:de
passed in username:dem
set username:dem
passed in username:demo
set username:demo
passed in username:demou
set username:demou
passed in username:demous
set username:demous
编辑:
谜题的一个线索是,username是一个状态钩子变量,我用一个文本字符串替换了它,它现在发送整个字符串,但仍然发送了好几次。因此,一半的问题可能是electron不能很好地处理react hooks逻辑。

您在文档中的哪里找到了
proceedToApp
事件?我的搜索显示它不存在。“ProceedToApp”是频道名称。这些都是用户定义的——对——headdesk——是否有一个onkeydown围绕着它?如何发出
verifySubscriptionResponse
事件以及何时发出?没有keydown事件包装器,它只是自己坐着。verifySubscriptionResponse事件从main发出。render向main发送“verifySubscription”事件,main检查一些内容,然后将响应事件及其结果发送回render。如果它是有效的,render会在其一端处理一些事情,然后将proceedToApp事件发送回main,这将关闭登录窗口并打开实际的应用程序
passed in username:d
set username:d
passed in username:de
set username:de
passed in username:dem
set username:dem
passed in username:demo
set username:demo
passed in username:demou
set username:demou
passed in username:demous
set username:demous