首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@react- pdf /renderer仅在第一次渲染时显示pdf

@react- pdf /renderer仅在第一次渲染时显示pdf
EN

Stack Overflow用户
提问于 2021-07-28 21:13:53
回答 1查看 361关注 0票数 1

我现在使用的是react-pdf/渲染器和Electron-React-Boilerplate。如果我重新启动我的应用程序,pdf就会生成并可见。如果我关闭页面并重新打开,pdf所在的位置是空白的。

代码语言:javascript
复制
const PdfOrcamentoItem = ({ item }: PropsItem) => {
  return (
    <View style={styles.section}>
      <Text>{item.Descricao}</Text>
      {item.FrontImage ? <Image src={item.FrontImage} /> : null}
    </View>
  );
};
export const OrcamentoTest = ({ items }: Props) => {
  return (
    <Document key={items.length}>
      <Page size="A4" style={styles.page}>
        {items.map((item) => (
          <PdfOrcamentoItem item={item} key={item.Ordem} />
        ))}
      </Page>
    </Document>
  );
};
//-------------------------

export function MyPdf({ items }: Props) {
  return (
    <PDFViewer width="100%" height="100%">
      <OrcamentoTest items={items} />
    </PDFViewer>
  );
}
//--------------------------

// how I call the component
<BasicModal
        title="PDF"
        onClose={() => {
          setPdfModalOpen(false);
        }}
        open={pdfModalOpen}
        fullScreen
      >
        {pdfModalOpen ? (
          <MyPdf items={itemsRef.current} />
        ) : null}
      </BasicModal>

即使我只显示pdf文件的下载链接,而不是尝试显示它,它也只在组件的第一次渲染时起作用。在此之后,instance.url变为null。

代码语言:javascript
复制
function MyPdf({ items }: Props) {
  const test = <OrcamentoTest items={items} />;
  const [instance, updateInstance] = usePDF({ document: test });

  if (instance.loading) return <div>Loading ...</div>;

  if (instance.error) return <div>Something went wrong</div>;

  return instance.url ? (
    <a href={instance.url} download="test.pdf">
      Download
    </a>
  ) : (
    <div>Something went wrong</div>
  );
}


// versions
// "react": "^17.0.1",
// "@react-pdf/renderer": "^2.0.17",

我开始认为这可能是一个webpack的配置,但真的不知道。我已经遵循了react-pdf的说明,看不出问题出在哪里。如果有人有任何想法可以把我引向正确的方向,那就太好了。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-28 23:01:51

通过将我的@react-pdf/renderer版本降级到2.0.16,我能够避免这个问题。这是一个版本错误。

Github Bug Report

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68561104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档