import { useRef, useImperativeHandle, RefObject, ForwardedRef } from 'react' type Obj = Record export type HandlerRef = { getNodeInstance(): { props: RefObject

, nodeRef: RefObject, instance: Obj } } export default function useNodesRef (props: P, ref: ForwardedRef>, nodeRef: RefObject, instance:Obj = {}) { const _props = useRef

(null) _props.current = props useImperativeHandle(ref, () => { return { getNodeInstance () { return { props: _props, nodeRef, instance } } } }) }