有没有办法在执行后滑动手势时调用函数?
我的视图在导航栏的左上角有一个自定义后退按钮。按下该按钮后,我清理代码,然后弹出视图。当在此特定视图上执行StackNavigator的后退手势时,我正在寻找执行相同的清理代码。这是否可以使用默认的后滑动手势?
答案 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