File tree Expand file tree Collapse file tree 4 files changed +44
-8
lines changed Expand file tree Collapse file tree 4 files changed +44
-8
lines changed Original file line number Diff line number Diff line change @@ -21,9 +21,22 @@ function useAccessibilityStateListener(
2121 }
2222
2323 AccessibilityInfo [ initializerName ] ( ) . then ( setIsEnabled )
24- AccessibilityInfo . addEventListener ( eventName , setIsEnabled )
2524
26- return ( ) => AccessibilityInfo . removeEventListener ( eventName , setIsEnabled )
25+ const subscription = AccessibilityInfo . addEventListener (
26+ eventName ,
27+ setIsEnabled ,
28+ )
29+
30+ return ( ) => {
31+ // @ts -expect-error - React Native >= 0.65
32+ if ( typeof subscription ?. remove === 'function' ) {
33+ // @ts -expect-error - need update @types/react-native@0.65.x
34+ subscription . remove ( )
35+ } else {
36+ // React Native < 0.65
37+ AccessibilityInfo . removeEventListener ( eventName , setIsEnabled )
38+ }
39+ }
2740 } , [ eventName , initializerName ] )
2841
2942 return isEnabled
Original file line number Diff line number Diff line change @@ -10,10 +10,17 @@ export function useAppState() {
1010 setAppState ( newState )
1111 }
1212
13- AppState . addEventListener ( 'change' , onChange )
13+ const subscription = AppState . addEventListener ( 'change' , onChange )
1414
1515 return ( ) => {
16- AppState . removeEventListener ( 'change' , onChange )
16+ // @ts -expect-error - React Native >= 0.65
17+ if ( typeof subscription ?. remove === 'function' ) {
18+ // @ts -expect-error - need update @types/react-native@0.65.x
19+ subscription . remove ( )
20+ } else {
21+ // React Native < 0.65
22+ AppState . removeEventListener ( 'change' , onChange )
23+ }
1724 }
1825 } , [ ] )
1926
Original file line number Diff line number Diff line change @@ -21,10 +21,17 @@ export function useDeviceOrientation() {
2121 } )
2222 }
2323
24- Dimensions . addEventListener ( 'change' , onChange )
24+ const subscription = Dimensions . addEventListener ( 'change' , onChange )
2525
2626 return ( ) => {
27- Dimensions . removeEventListener ( 'change' , onChange )
27+ // @ts -expect-error - React Native >= 0.65
28+ if ( typeof subscription ?. remove === 'function' ) {
29+ // @ts -expect-error - need update @types/react-native@0.65.x
30+ subscription . remove ( )
31+ } else {
32+ // React Native < 0.65
33+ Dimensions . removeEventListener ( 'change' , onChange )
34+ }
2835 }
2936 } , [ ] )
3037
Original file line number Diff line number Diff line change @@ -18,9 +18,18 @@ export function useDimensions() {
1818 }
1919
2020 useEffect ( ( ) => {
21- Dimensions . addEventListener ( 'change' , onChange )
21+ const subscription = Dimensions . addEventListener ( 'change' , onChange )
2222
23- return ( ) => Dimensions . removeEventListener ( 'change' , onChange )
23+ return ( ) => {
24+ // @ts -expect-error - React Native >= 0.65
25+ if ( typeof subscription ?. remove === 'function' ) {
26+ // @ts -expect-error - need update @types/react-native@0.65.x
27+ subscription . remove ( )
28+ } else {
29+ // React Native < 0.65
30+ Dimensions . removeEventListener ( 'change' , onChange )
31+ }
32+ }
2433 } , [ ] )
2534
2635 return dimensions
You can’t perform that action at this time.
0 commit comments