File tree Expand file tree Collapse file tree 2 files changed +13
-5
lines changed
packages/react-native/src/toast Expand file tree Collapse file tree 2 files changed +13
-5
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' @td-design/react-native ' : patch
3+ ---
4+
5+ 修复Toast组件导致物理返回键无法正常使用的bug
Original file line number Diff line number Diff line change 11import { useEffect , useRef , useState } from 'react' ;
2- import { BackHandler } from 'react-native' ;
2+ import { BackHandler , NativeEventSubscription } from 'react-native' ;
33
44import { useMemoizedFn } from '@td-design/rn-hooks' ;
55
@@ -45,11 +45,14 @@ export default function useToast() {
4545
4646 /** 当Toast显示的时候,不允许安卓物理返回键可用 */
4747 useEffect ( ( ) => {
48- BackHandler . addEventListener ( 'hardwareBackPress' , ( ) => visible ) ;
48+ let backHandler : NativeEventSubscription | undefined ;
49+ if ( visible ) {
50+ backHandler = BackHandler . addEventListener ( 'hardwareBackPress' , ( ) => true ) ;
51+ } else {
52+ backHandler ?. remove ( ) ;
53+ }
4954
50- return ( ) => {
51- BackHandler . removeEventListener ( 'hardwareBackPress' , ( ) => false ) ;
52- } ;
55+ return ( ) => backHandler ?. remove ( ) ;
5356 } , [ visible ] ) ;
5457
5558 return {
You can’t perform that action at this time.
0 commit comments