(callback: Callback)
| 7 | * https://gist.github.com/JakeCoxon/c7ebf6e6496f8468226fd36b596e1985 |
| 8 | */ |
| 9 | export const useStableCallback = (callback: Callback) => { |
| 10 | const callbackRef = useRef<Callback>(); |
| 11 | const memoCallback = useCallback( |
| 12 | (...args) => callbackRef.current && callbackRef.current(...args), |
| 13 | [] |
| 14 | ); |
| 15 | useEffect(() => { |
| 16 | callbackRef.current = callback; |
| 17 | return () => (callbackRef.current = undefined); |
| 18 | }); |
| 19 | return memoCallback; |
| 20 | }; |
no outgoing calls
no test coverage detected