首页 文章

向后滑动执行操作(反应导航)

提问于
浏览
3

在反应导航中,知道有一种方法可以在按下后退按钮时执行自定义操作 . 当用户滑动回到最后一个屏幕时,是否有类似的方法?

1 回答

  • 2

    我能够确定应用程序是通过后退按钮返回还是使用路由器的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);
        },
    };
    

相关问题