react函数组件中,父组件调用子组件的方法

使用ref来处理。

父组件里面

 

 

 

子组件里面

 

 

在TS里面使用又有不同!

在TS里面这样做会报错 

 InputArea里面是这样

 这个错误的原因是forwardRef期望的函数签名与FC类型不兼容。我们需要将InputArea的类型从FC<InputAreaProps>改为ForwardRefRenderFunction.

正确的声明类型的方法如下

这样写就不报错了。

在使用的地方也得改

 这时候useRef不能用HTMLElement声明类型,用这个类型代表它的属性是只读,类型有问题

改成这样

 即可。

可见,在TS里,类型声明还是很严格的

 

 
posted @ 2023-03-23 18:47  飞向火星  阅读(67)  评论(0编辑  收藏  举报