StackNavigator Back Swipe Callback

时间:2018-05-02 22:44:48

标签: react-native react-navigation

有没有办法在执行后滑动手势时调用函数?

我的视图在导航栏的左上角有一个自定义后退按钮。按下该按钮后,我清理代码,然后弹出视图。当在此特定视图上执行StackNavigator的后退手势时,我正在寻找执行相同的清理代码。这是否可以使用默认的后滑动手势?

1 个答案:

答案 0 :(得分:0)

您可以在要执行操作的特定屏幕上订阅navigation listeners

可以通过

收听过渡
const didBlurSubscription = this.props.navigation.addListener(
  'didBlur',
  payload => {
    console.debug('didBlur', payload);
  }
);

JSON object的{​​{1}}将如下所示

payload

因此您可以根据{ action: { type: 'Navigation/COMPLETE_TRANSITION', key: 'StackRouterRoot' }, context: 'id-1518521010538-2:Navigation/COMPLETE_TRANSITION_Root', lastState: undefined, state: undefined, type: 'didBlur', };

添加条件

也不要忘记删除监听器

lastState