子组件中
const child = forwardRef((props, ref) => {
useImperativeHandle(ref, () => ({ // 这里面的方法是暴露给父组件的
test() {
console.log('我是组件里的test方法')
},
test2() {
// todo
}
}))
return (
.....
)
})
父组件中调用
...
const childRef = useRef(null)
const onClick = () => {
childRef.current.test() // 调用子组件方法
}
return (
<View onClick={onClick}>
<child ref={childRef }></child>
</View>
)
...