在子组件中我们可以使用下面两个方法去暴露你所要放行的属性或方法👇
1.useImperativeHandle
2.orwardRef
搭配使用例子
import React, { useState, forwardRef, useImperativeHandle } from "react"
function Son(props, ref) {
const [data] = useState(0)
const getData = ()=>{
return data
}
useImperativeHandle(ref, () => {
return {
getData,
data
}
});
return (
<div>
{data}
</div>
)
}
export default forwardRef(Son)
父组件可以直接使用useRef去获取子组件实例通过.current获取到对应的方法和属性