1547b4a5cS猫头猫import {useEffect, useRef} from 'react'; 2547b4a5cS猫头猫import {BackHandler, NativeEventSubscription} from 'react-native'; 3547b4a5cS猫头猫 4547b4a5cS猫头猫export default function ( 5547b4a5cS猫头猫 onHardwareBackPress: () => boolean | null | undefined, 6*34588741S猫头猫 deps: any[] = [], 7547b4a5cS猫头猫) { 8547b4a5cS猫头猫 const backHandlerRef = useRef<NativeEventSubscription>(); 9547b4a5cS猫头猫 useEffect(() => { 10547b4a5cS猫头猫 if (backHandlerRef.current) { 11547b4a5cS猫头猫 backHandlerRef.current.remove(); 12547b4a5cS猫头猫 backHandlerRef.current = undefined; 13547b4a5cS猫头猫 } 14547b4a5cS猫头猫 15547b4a5cS猫头猫 backHandlerRef.current = BackHandler.addEventListener( 16547b4a5cS猫头猫 'hardwareBackPress', 17547b4a5cS猫头猫 onHardwareBackPress, 18547b4a5cS猫头猫 ); 19547b4a5cS猫头猫 20547b4a5cS猫头猫 return () => { 21547b4a5cS猫头猫 if (backHandlerRef.current) { 22547b4a5cS猫头猫 backHandlerRef.current.remove(); 23547b4a5cS猫头猫 backHandlerRef.current = undefined; 24547b4a5cS猫头猫 } 25547b4a5cS猫头猫 }; 26*34588741S猫头猫 }, deps); 27547b4a5cS猫头猫} 28