File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -153,6 +153,8 @@ export function useOneSignal(): UseOneSignalReturn {
153153 } , [ ] ) ;
154154
155155 useEffect ( ( ) => {
156+ let cancelled = false ;
157+
156158 const handleIamWillDisplay = ( e : InAppMessageWillDisplayEvent ) => {
157159 console . log ( `IAM willDisplay: ${ e . message . messageId } ` ) ;
158160 } ;
@@ -271,6 +273,7 @@ export function useOneSignal(): UseOneSignalReturn {
271273 OneSignal . User . pushSubscription . getOptedInAsync ( ) ,
272274 OneSignal . Notifications . hasPermission ( ) ,
273275 ] ) ;
276+ if ( cancelled ) return ;
274277
275278 setAppId ( nextAppId ) ;
276279 setConsentRequiredState ( nextConsentRequired ) ;
@@ -284,6 +287,7 @@ export function useOneSignal(): UseOneSignalReturn {
284287 setIsReady ( true ) ;
285288
286289 const initialOnesignalId = await OneSignal . User . getOnesignalId ( ) ;
290+ if ( cancelled ) return ;
287291 if ( initialOnesignalId ) {
288292 await fetchUserDataFromApi ( ) ;
289293 }
@@ -296,6 +300,7 @@ export function useOneSignal(): UseOneSignalReturn {
296300
297301 console . log ( 'Loaded OneSignal' ) ;
298302 return ( ) => {
303+ cancelled = true ;
299304 console . log ( 'Cleaning up OneSignal listeners' ) ;
300305 OneSignal . InAppMessages . removeEventListener ( 'willDisplay' , handleIamWillDisplay ) ;
301306 OneSignal . InAppMessages . removeEventListener ( 'didDisplay' , handleIamDidDisplay ) ;
Original file line number Diff line number Diff line change 11import { StatusBar , Style } from '@capacitor/status-bar' ;
2- import { IonApp , IonRouterOutlet , setupIonicReact } from '@ionic/react' ;
2+ import { IonApp , setupIonicReact } from '@ionic/react' ;
33import { IonReactRouter } from '@ionic/react-router' ;
4- import { Redirect , Route } from 'react-router-dom' ;
4+ import { Redirect , Route , Switch } from 'react-router-dom' ;
55
66import HomeScreen from './pages/HomeScreen' ;
77import Secondary from './pages/Secondary' ;
@@ -31,7 +31,7 @@ setupIonicReact();
3131const App : React . FC = ( ) => (
3232 < IonApp >
3333 < IonReactRouter >
34- < IonRouterOutlet >
34+ < Switch >
3535 < Route exact path = "/home" >
3636 < HomeScreen />
3737 </ Route >
@@ -41,7 +41,7 @@ const App: React.FC = () => (
4141 < Route exact path = "/" >
4242 < Redirect to = "/home" />
4343 </ Route >
44- </ IonRouterOutlet >
44+ </ Switch >
4545 </ IonReactRouter >
4646 </ IonApp >
4747) ;
Original file line number Diff line number Diff line change @@ -153,6 +153,8 @@ export function useOneSignal(): UseOneSignalReturn {
153153 } , [ ] ) ;
154154
155155 useEffect ( ( ) => {
156+ let cancelled = false ;
157+
156158 const handleIamWillDisplay = ( e : InAppMessageWillDisplayEvent ) => {
157159 console . log ( `IAM willDisplay: ${ e . message . messageId } ` ) ;
158160 } ;
@@ -271,6 +273,7 @@ export function useOneSignal(): UseOneSignalReturn {
271273 OneSignal . User . pushSubscription . getOptedInAsync ( ) ,
272274 OneSignal . Notifications . hasPermission ( ) ,
273275 ] ) ;
276+ if ( cancelled ) return ;
274277
275278 setAppId ( nextAppId ) ;
276279 setConsentRequiredState ( nextConsentRequired ) ;
@@ -284,6 +287,7 @@ export function useOneSignal(): UseOneSignalReturn {
284287 setIsReady ( true ) ;
285288
286289 const initialOnesignalId = await OneSignal . User . getOnesignalId ( ) ;
290+ if ( cancelled ) return ;
287291 if ( initialOnesignalId ) {
288292 await fetchUserDataFromApi ( ) ;
289293 }
@@ -296,6 +300,7 @@ export function useOneSignal(): UseOneSignalReturn {
296300
297301 console . log ( 'Loaded OneSignal' ) ;
298302 return ( ) => {
303+ cancelled = true ;
299304 console . log ( 'Cleaning up OneSignal listeners' ) ;
300305 OneSignal . InAppMessages . removeEventListener ( 'willDisplay' , handleIamWillDisplay ) ;
301306 OneSignal . InAppMessages . removeEventListener ( 'didDisplay' , handleIamDidDisplay ) ;
You can’t perform that action at this time.
0 commit comments