首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何与TypeScript一起使用?

如何与TypeScript一起使用?
EN

Stack Overflow用户
提问于 2020-04-03 23:57:27
回答 2查看 7K关注 0票数 8

我通常使用React (https://www.npmjs.com/package/react-to-print)来打印反应组件,这是一种低工作量和很大的灵活性。我开始用TypeScript编写我的应用程序,这是我第一次需要将这两件事结合起来。

这是我的密码:

代码语言:javascript
运行
复制
<ReactToPrint
  trigger={() => <Button variant="contained" color="primary">Generar</Button>}
  content={() => componentRef.current}
/>
<PrintableComponent ref={componentRef} />

要创建引用,我只需:

代码语言:javascript
运行
复制
const componentRef = useRef();

在JavaScript中,它可以工作,但是当我使用.tsx时,我在ReactToPrint组件的"content“参数中出现了一个错误,在我自己的PrintableComponent的ref参数中出现了另一个错误。有人能帮我吗?

基本上,错误说接口不匹配。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-04 01:10:04

在使用钩子时,似乎是一个已知的问题:https://github.com/gregnb/react-to-print/issues/214

作为另一种选择,您可以避免使用useRef钩子,并遵循源代码回购中的示例,该示例似乎适用于TypeScript:

https://github.com/gregnb/react-to-print/blob/master/example/index.tsx

即,关于npm自述文件的第一个示例:https://www.npmjs.com/package/react-to-print#example

票数 3
EN

Stack Overflow用户

发布于 2021-05-03 12:38:57

您可以为useRef定义类型以消除ts错误贷给shane935

代码语言:javascript
运行
复制
const componentRef = useRef<HTMLDivElement>(null)

如果你,像我一样,使用功能组件,你会遇到一个问题,试图使用下面的ref基于类的反应类组件。若要绕过此错误,可以将希望打印的组件包装在div中:

代码语言:javascript
运行
复制
<ReactToPrint
  trigger={() => <Button variant="contained" color="primary">Generar</Button>}
  content={() => componentRef.current}
/>
<div ref={componentRef}>
  <PrintableComponent />
</div>

这个div里面的所有东西都会被打印出来。

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

https://stackoverflow.com/questions/61022107

复制
相关文章

相似问题

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