不要太在乎一些人,越在乎,越卑微。——周国平
首先按照官方文档的demo
写好代码,却报错如下:
安装插件Error Lens
后:
如何解决?
前往Text
的ref
源码,可以看到是需要一个叫LegacyRef
的类型
我们进LegacyRef
,看到其就是Ref
或string
的类型
因此这里我们定义为Ref
类型即可
这里出现了新的问题,不能将MutableRefObject<Text | null |undefined>
分配给Ref<Text>
我们进入useRef
源码,看到其包含几个重载
分别查看MuteableRefObject
和RefObject
可以看到RefObject
是Ref
中容许的其中一种类型
所以应该使用上面一种重载
在原有代码React.useRef()
中传入null
报错解决
同理,trRef
一样
注意此处Ref<TextRef>
内的泛型使用的是konva/lib/shapes/Text
包下的Text
,改名为TextRef
除了在定义变量左侧申明类型,在方法右侧也可以申明泛型,让编辑器自动推测