UNPKG

@gluestack-ui/hooks

Version:
19 lines (18 loc) 593 B
import { useEffect, useRef } from 'react'; import { BackHandler } from 'react-native'; export function useBackHandler({ enabled, callback }) { const backHandlerRef = useRef(null); useEffect(() => { const backHandler = () => { callback(); return true; }; if (enabled) { backHandlerRef.current = BackHandler.addEventListener('hardwareBackPress', backHandler); } else { backHandlerRef.current?.remove(); } return () => backHandlerRef.current?.remove(); }, [enabled, callback]); }