Рендеринг вывода логгера в компонент на Tesseract. js (с React) замедляется - PullRequest
0 голосов
/ 11 июля 2020

Я хотел бы добавить в Tesseract индикатор прогресса. js ведение журнала. Пример в документах работает нормально, пока не будет установлен обработчик состояния в регистраторе:

const worker = createWorker({
  logger: (m) => {
    setProgress(m) //new
}});

...

const [ocr, setOcr] = useState('Recognizing...');
const [progress, setProgress] = useState(null); //new

...

return (
  <div className="App">
    <p>           
      <LogComponent progress={progress}/> //new
    </p>
  </div>);

Это приводит к значительному замедлению работы браузера (вероятно, из-за того, что React повторно рендерит каждый состояние обновления). Есть ли способ обойти это? Возможно, с помощью React.memo?

...