При использовании прослушивателя событий для обновления состояния реакции приложение зависает из-за высокочастотного рендеринга (возможно). Как я могу оптимизировать это? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь эмулировать последовательный монитор ArduinoIDE с помощью приложения Electron-React.Мое приложение зависает при обновлении компонента реакции, если частота данных (данные, поступающие с аппаратного обеспечения) очень высока.

Я читаю данные с моего оборудования, используя модуль последовательного порта .Функция диспетчеризации избыточности (которая обновляет состояние соответствующего SerialMonitorComponent) запускается через прослушиватель событий данных модуля serialport.

Я попытался реализовать компонент Uncontrolled 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}
/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...