Я использую нижнюю навигацию в одном из моих приложений и столкнулся с проблемой.
Я хочу отправить какое-то событие в облако всякий раз, когда пользователь использует нижнюю навигацию для перехода на страницу, скажем A1.
Вот мой код:
const tabBarConfigs = {
lazy: true,
animationEnabled: true,
tabBarComponent: props => <AppBottomTab {...props} />,
tabBarOptions: {
style: {
backgroundColor: Fonts.Colors.transparent,
},
activeTintColor: Fonts.Colors.reddishPink,
inactiveTintColor: Fonts.Colors.fullBlack,
labelStyle: { fontFamily: Fonts.Medium, fontSize: 10, marginTop: -2 },
upperCaseLabel: true,
allowFontScaling: false,
showIcon: true,
},
defaultNavigationOptions: {
tabBarOnPress: ({ navigation, defaultHandler }) => {
defaultHandler();
navigation.setParams({
eventData: {
source: "bottom_nav",
},
});
if (navigation.isFocused()) {
const scrollToTop = navigation.getParam("scrollToTop", null);
if (scrollToTop) {
scrollToTop();
}
}
},
},
};
Проблема в том, что когда пользователь приземляется из любой другой точки касания (кроме нижней навигации), тогда также eventData уже установлен в навигации. Как этого избежать?
Боролись с этим уже 3 дня. Может здесь кто-нибудь помочь?