Попытка электронной реактивной плиты котла Используйте @ react-pdf / renderer для отображения PDF-компонента с установкой PDFViewer - PullRequest
0 голосов
/ 06 августа 2020

Кто-нибудь настраивал электрон для передачи компонента PDFViewer, который затем отображается в DOM из React? Я могу отобразить пустое поле, потому что файл blob и html не передаются в DOM, как в простом приложении React. Файл blob просят сохранить где-нибудь, а не просто использовать его в DOM, как это делает простое приложение React.

Я думаю, что информацию PDFViewer нужно каким-то образом передать через package.json / webpack электрону main.dev.ts для правильного отображения в DOM.

Я также получаю утечку памяти из-за монтирования и размонтирования PDFViewer:

Предупреждение: невозможно выполнить React обновление состояния отключенного компонента. Это не операция, но она указывает на утечку памяти в вашем приложении. Чтобы исправить, отмените все подписки и асинхронные задачи в методе componentWillUnmount. in InternalBlobProvider (созданный PDFViewer) в PDFViewer (at tearDownSummery.tsx: 9) в div (at tearDownSummery.tsx: 8)

Это то, что я должен назвать свой компонент pdf, который я настраиваю, который работает вплоть до отображения в DOM. Ссылка для загрузки работает, и я получаю PDF-файл, структурированный с помощью.

import React from 'react';
import { PDFViewer, PDFDownloadLink } from '@react-pdf/renderer';
import ReactDOM from 'react-dom';
import TearDownPDF from './tearDowSummeryPDF';


export default function TearDownSummery() {
  return (
    <div>
      <PDFViewer>
        <TearDownPDF />
      </PDFViewer>
      <PDFDownloadLink document={<TearDownPDF />} fileName="IIR.pdf">
        {({ blob, url, loading, error }) =>
          loading ? <i> Loading document...</i> : <i> Download Pdf </i>}
      </PDFDownloadLink>
    </div>
  );
}

ReactDOM.render(<TearDownSummery />, document.getElementById('root'));

Вот мой проект GitHub: https://github.com/staniszmatt/iir_Report.git Все это настроено в ветке pdfSetup.

1 Ответ

0 голосов
/ 07 августа 2020

В настоящее время у Electron нет возможности использовать @ response-pdf на основе этого сообщения, которое я нашел.

https://github.com/electron/electron/issues/13038

Я буду вернуться, чтобы ответить еще раз, если и когда электрон добавит эту возможность.

...