React/TS Hooks组件 父组件如何通过ref获取子组件的实例,并有完整的类型提示

React/TS 函数组件中,如何通过ref获取子组件的方法

子组件为class

父组件可通过createRefhooks定义
const mapRef = createRef<AMap>()
<>内只需要传入子组件,变可得到完整的ts提示

img

当子组件为hooks

const BaseSelect = forwardRef(<T,>(props: IProps<T>, ref: Ref<unknown> | undefined) => {
  const [options, setOptions] = useState<T[]>([])
  const [page, setPage] = useState<PageParams>({ skipCount: 1, maxResultCount: 10, totalCount: 0 })

  const getOptions = (skipCount: number): Promise<T[]> => {
    ...
  }

  useImperativeHandle(ref, () => ({
    getOptions
  }))
  ...
})

当我在父组件定义ref时,又收到了一个错误

img

使用typeof操作符后ts可以提示子组件的参数信息,可是没有useImperativeHandle暴露的方法

img

我该如何定义子组件,而父组件能得到完成的ts提示?