楚天千里清秋,水随天去秋无际。
React.forwardRef
- React.forwardRef 会创建一个React组件,这个组件能够将其接受的 ref 属性转发到其组件树下的另一个组件中。
- React.forwardRef 接受渲染函数作为参数。React 将使用 props 和 ref 作为参数来调用此函数。此函数应返回 React 节点。
React.forwardRef 基本使用
1 | const A = React.forwardRef((props,ref)=>( |
- React.forwardRef 返回的是一个组件
- React.forwardRef 接受一个函数作为参数,这个函数是一个渲染函数,也就是一个组件
- 该渲染函数接受 props 和 ref 作为参数
forwardRef与useRef 对比
1 | import { Button,Form,Input } from 'antd'; |
- 使用forwarRef
1 | import { Button,Form,Input } from 'antd'; |
- forwardRef 在参数函数中向其传入ref参数,ref附着谁,就被外界ref.current 所取得,forwardRef实现的功能就是外层组件可以通过 ref 直接控制内层组件或元素的行为,简单的来说,就像其名字:透传。
- forwardRef的API中ref必须指向dom元素。