父组件可通过createRef
hooks定义const mapRef = createRef<AMap>()
<>内只需要传入子组件,变可得到完整的ts提示
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时,又收到了一个错误
使用typeof操作符后ts可以提示子组件的参数信息,可是没有useImperativeHandle暴露的方法