The way I managed to solve this is by using events
and eventEmitter3
library
in events.js
import EventEmitter from 'eventemitter3';
export const events = new EventEmitter();
in Modal.js
redirectToMyTab = () => {
const { componentId } = this.props;
events.emit('RedirectToMyTab');
Navigation.dismissModal(componentId);
};
And inside of one of tabs (as they are all mounted)
Tab0.js
componentDidMount() {
events.on('RedirectToMyTab', this.redirectToMyTab);
}
redirectToMyTab = () => {
const { componentId } = this.props;
Navigation.mergeOptions(componentId, {
bottomTabs: {
currentTabIndex: 1,
},
});
};