function component 是一个函数而不是一个 class,没办法向类一样直接调用其方法
这个时候可以考虑用ref.current.fun()
的方式调用
但是需要使用 useImperativeHandle,在用 forwardRef 包一层
forwardRef
的用处是把 ref 转发到组件上
const ComponentName = forwardRef((props: Props, ref: any) => {
useImperativeHandle(ref, () => ({
fun1: () => {
return;
},
fun2: () => {
return;
},
}));
return (
...
);
});