我正在尝试使用Electron-React应用程序仿真ArduinoIDE串行监视器。如果数据频率(来自硬件的数据)非常高,我的应用程序将在更新react组件时挂起。
我正在使用serialport module从硬件读取数据。通过串行端口模块的数据事件侦听器触发redux调度功能(用于更新相应SerialMonitorComponent的状态)。
我尝试使用refs实现不受控制的React Component。但是,仍然找不到解决方案。
我在后端(电子部分)使用serialport模块获取数据,然后通过IPC通信将数据发送到渲染器(React部分),渲染器最终触发调度功能以更新状态。如下所示:
ipc.on('updateSerialValue', (event, val) => {
this.props.onUpdateSerialValue(this.props.serialValue + String.fromCharCode(...val));
});
此后,我将组件更新为
<textarea
disabled
className={classNames(styles.serialMonitor)}
value={serialValue}
/>