fixed back navigation exititing app bug

This commit is contained in:
Sadaqat Ali 2022-07-27 00:33:52 +05:00
parent 9981aeac7b
commit 74729528bf
2 changed files with 17 additions and 4 deletions

View File

@ -1,3 +1,4 @@
import { BackHandler } from 'react-native';
import { NavigationActions } from 'react-navigation'; import { NavigationActions } from 'react-navigation';
let _navigator; let _navigator;
@ -24,6 +25,17 @@ const navigate = (navigationProps) => {
} }
}; };
const navigateBack = () => {
if (_navigator) {
const { index } = _navigator.state.nav.routes[0];
if (index) {
_navigator.dispatch(NavigationActions.back());
} else {
BackHandler.exitApp();
}
}
};
// add other navigation functions that you need and export them // add other navigation functions that you need and export them
export { navigate, setTopLevelNavigator }; export { navigate, setTopLevelNavigator, navigateBack };

View File

@ -49,7 +49,7 @@ import {
getUnreadNotificationCount, getUnreadNotificationCount,
} from '../../../providers/ecency/ecency'; } from '../../../providers/ecency/ecency';
import { fetchLatestAppVersion } from '../../../providers/github/github'; import { fetchLatestAppVersion } from '../../../providers/github/github';
import { navigate } from '../../../navigation/service'; import { navigate, navigateBack } from '../../../navigation/service';
// Actions // Actions
import { import {
@ -566,14 +566,15 @@ class ApplicationContainer extends Component {
}; };
_onBackPress = () => { _onBackPress = () => {
navigateBack();
/*
const { dispatch, nav } = this.props; const { dispatch, nav } = this.props;
if (nav && nav[0].index !== 0) { if (nav && nav[0].index !== 0) {
dispatch(NavigationActions.back()); dispatch(NavigationActions.back());
} else { } else {
BackHandler.exitApp(); BackHandler.exitApp();
} }
*/
return true; return true;
}; };