Вы можете создать NavigationService, как описано в официальной документации
Просто создайте новый файл NavigationService.js.
import { NavigationActions } from 'react-navigation';
let _navigatorRef;
function setNavigatorRef(navigatorRef) {
_navigatorRef = navigatorRef;
}
function navigate(routeName, params) {
_navigatorRef.dispatch(
NavigationActions.navigate({
routeName,
params,
})
);
}
export default {
navigate,
setNavigatorRef,
};
В компоненте верхнего уровня вы можете передать Навигатор вашему сервису следующим образом.
import NavigationService from './NavigationService';
const MyNavigator = createStackNavigator({ bla bla bla })
class App extends React.Component {
render() {
return (
<MyNavigator
ref={navigatorRef => {
NavigationService.setNavigatorRef(navigatorRef);
}}
/>
);
}
}
Теперь вы можете использовать этот сервис для навигации по компоненту верхнего уровня (например, App.js). Просто используйте функцию navigate ().
NavigationService.navigate('LastScreen');