mirror of
https://github.com/overleaf/overleaf.git
synced 2025-02-10 18:41:28 +00:00
17 lines
384 B
TypeScript
17 lines
384 B
TypeScript
import * as React from 'react'
|
|
import useIsMounted from './use-is-mounted'
|
|
|
|
function useSafeDispatch<T>(dispatch: React.Dispatch<T>) {
|
|
const mounted = useIsMounted()
|
|
|
|
return React.useCallback<(args: T) => void>(
|
|
action => {
|
|
if (mounted.current) {
|
|
dispatch(action)
|
|
}
|
|
},
|
|
[dispatch, mounted]
|
|
) as React.Dispatch<T>
|
|
}
|
|
|
|
export default useSafeDispatch
|