@react-native-aria/interactions
Version:
25 lines • 867 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 {
var _backHandlerRef$curre;
(_backHandlerRef$curre = backHandlerRef.current) === null || _backHandlerRef$curre === void 0 || _backHandlerRef$curre.remove();
}
return () => {
var _backHandlerRef$curre2;
return (_backHandlerRef$curre2 = backHandlerRef.current) === null || _backHandlerRef$curre2 === void 0 ? void 0 : _backHandlerRef$curre2.remove();
};
}, [enabled, callback]);
}
//# sourceMappingURL=useBackHandler.js.map