Мне нужно запустить определенную функцию, когда ящик показывает себя, а затем другую функцию, когда ящик прячется.
Я могу сделать так, чтобы единственный способ открыть ящик - через меня вызвать this.props.navigation.openDrawer (), и я могу сделать то же самое для закрытия, за исключением того, что когда вы нажимаете на фоне ящика, он закрывается.Мне нужно либо найти способ переписать / отключить такое поведение нажатия на фоне закрытия ящика.Или мне нужен слушатель, который будет прослушивать событие закрытия ящика.
Использование React Navigation v3.
Я использую свой собственный contentComponent, и в этом компоненте я уже пытался использовать willFocusи подобные события типа willBlur, но, похоже, они не работают:
componentDidMount() {
this.willFocusListener = this.props.navigation.addListener(
'willFocus',
this.setStatusBarColorDrawerOpen
);
this.willBlurListener = this.props.navigation.addListener(
'willBlur',
this.setStatusBarColorDrawerClose
);
}
setStatusBarColorDrawerOpen = () => {
console.log(' setting StatusBar to GRAY! ');
if (Platform.OS !== 'ios') StatusBar.setBackgroundColor('rgb(242,242,242)');
};
setStatusBarColorDrawerClose = () => {
console.log(' setting StatusBar to WHITE! ');
if (Platform.OS !== 'ios') StatusBar.setBackgroundColor('#FFF');
};
componentWillUnmount() {
this.willFocusListener.remove();
this.willBlurListener.remove();
}
Есть еще идеи?