在反应导航中,知道有一种方法可以在按下后退按钮时执行自定义操作 . 当用户滑动回到最后一个屏幕时,是否有类似的方法?
我能够确定应用程序是通过后退按钮返回还是使用路由器的getStateForAction函数向后滑动 . 如果需要,可以检查动作和状态变量以进一步微调 .
export const ScreensStack = StackNavigator( { Login: {screen: LoginScreen}, Schedule: {screen: ScheduleScreen}, } /** * Intercept actions occuring in the screen stack. */ const getStateForActionScreensStack = ScreensStack.router.getStateForAction; ScreensStack.router = { ...ScreensStack.router, getStateForAction(action, state) { if action.type == 'Navigation/BACK') { console.log('We are going back...'); } return getStateForActionScreensStack(action, state); }, };
1 回答
我能够确定应用程序是通过后退按钮返回还是使用路由器的getStateForAction函数向后滑动 . 如果需要,可以检查动作和状态变量以进一步微调 .