@gluestack-ui/hooks
Version:
Provides hooks used in gluestack-ui
19 lines (18 loc) • 593 B
JavaScript
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]);
}