UNPKG

@react-native-aria/interactions

Version:
31 lines (30 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useBackHandler = useBackHandler; var _react = require("react"); var _reactNative = require("react-native"); function useBackHandler({ enabled, callback }) { const backHandlerRef = (0, _react.useRef)(null); (0, _react.useEffect)(() => { const backHandler = () => { callback(); return true; }; if (enabled) { backHandlerRef.current = _reactNative.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