在React中,呼吁实现子组件的方法与对React的理解是密不可分的。Forwards和useSperativeHandle。如果您想直接使用它,只需查看第二点。如果您想彻底理解,请查看,查看从一开始。
React.Forwards将创建一个可以将其自身属性转发到其后代组件的React组件。
该技术并不常见,但在以下两种情况下特别有用:
React.ForwardRef接受渲染函数(可以理解为组件)作为参数。此函数的参数为Props and Ref,然后返回到React节点。
在上面的示例中,React将通过第二个参数传递到React的渲染函数。渲染函数将传递给元素。forwardRef,然后传递到ref of按钮。
画一张图片以帮助理解:
fancybutton's-> fancybutton定义((props,)) - >>>>
因此,当将REECT连接到REF属性上时,Ref.Current将直接指向此DOM元素实例。
以上说明了参考文献的传输,因此让我们谈谈如何将子组件的属性和方法传递给父部件。
useImperativeHanle应与forwardRef一起使用,自定义组件构成构图,如下:子类:子组件:
在以这种方式编写后,父组件渲染fanciNput可以直接调用inputref.current.focus().father组件:
本文主要是指中国网站,并根据其自己的理解总结。
如果您为您提供帮助,请支持三家公司,欢迎留言。如果您有不同的意见,则可以在评论区域指出,谢谢?
原始:https://juejin.cn/post/7103749617308663816
