前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >react在ts中提示ref问题

react在ts中提示ref问题

作者头像
阿超
发布2022-08-21 13:57:48
1.9K0
发布2022-08-21 13:57:48
举报
文章被收录于专栏:快乐阿超快乐阿超

首先按照官方文档的demo写好代码,却报错如下:

image-20220616130732782
image-20220616130732782

安装插件Error Lens后:

image-20220616130416141
image-20220616130416141

如何解决?

前往Textref源码,可以看到是需要一个叫LegacyRef的类型

image-20220616131033822
image-20220616131033822

我们进LegacyRef,看到其就是Refstring的类型

image-20220616131134570
image-20220616131134570

因此这里我们定义为Ref类型即可

image-20220616131228231
image-20220616131228231

这里出现了新的问题,不能将MutableRefObject<Text | null |undefined>分配给Ref<Text>

我们进入useRef源码,看到其包含几个重载

image-20220616131355690
image-20220616131355690

分别查看MuteableRefObjectRefObject

image-20220616131558832
image-20220616131558832

可以看到RefObjectRef中容许的其中一种类型

image-20220616131733093
image-20220616131733093

所以应该使用上面一种重载

image-20220616131807973
image-20220616131807973

在原有代码React.useRef()中传入null

报错解决

image-20220616131847569
image-20220616131847569

同理,trRef一样

image-20220616131948951
image-20220616131948951

注意此处Ref<TextRef>内的泛型使用的是konva/lib/shapes/Text包下的Text,改名为TextRef

除了在定义变量左侧申明类型,在方法右侧也可以申明泛型,让编辑器自动推测

image-20220616132252642
image-20220616132252642
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档