使用事件侦听器更新反应状态,由于高频渲染(可能),应用程序挂起。我该如何优化呢?

时间:2019-05-20 11:03:29

标签: reactjs redux electron ipc

我正在尝试使用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}
/>

0 个答案:

没有答案