19 lines
414 B
TypeScript
19 lines
414 B
TypeScript
import { ReactNode, useCallback, useRef } from 'react'
|
|
|
|
export const useRefCallback = <T = ReactNode>() : [T | null, (arg: T) => void] => {
|
|
const ref = useRef<T | null>(null);
|
|
const setRef = useCallback((val: T) => {
|
|
console.log(val);
|
|
if (ref.current) {
|
|
// does something?
|
|
}
|
|
|
|
if (val) {
|
|
// also does something?
|
|
}
|
|
|
|
ref.current = val
|
|
}, [])
|
|
|
|
return [ref.current, setRef]
|
|
} |