- Install package
yarn add react-navigation-extension
- Set navigation container
importReact,{memo,useRef,useLayoutEffect,}from'react';import{NavigationContainerComponent,}from'react-navigation';import{navigationNames,}from'~/global';import{Navigation,}from'~/navigation';import{setNavigationContainer,}from'~/components';exportconstUnconnectedApp=memo<{}>(()=>{constnavigationRef=useRef<NavigationContainerComponent>(null);useLayoutEffect(()=>{setNavigationContainer(navigationNames.main,navigationRef);},[]);return(<Navigationref={navigationRef}/>);});- Create navigation
import{createNavigation,}from'react-navigation-extension';import{navigationNames,}from'~/global';exportconstmainNavigation=createNavigation(navigationNames.main);- Navigate simple
import{mainNavigation,}from'~/navigation';mainNavigation.navigate('SIGN_UP');mainNavigation.reset(['SIGN_IN','FORGOT_PASSWORD'],{email: 'user@mail.com'});navigate: (routeName: string,params?: NavigationParams,action?: NavigationNavigateAction,key?: string,)=>void,setParams: (params: NavigationParams,key?: string)=>void,goBack: (key?: string|null)=>{constnavigator=navigatorsByName[navigationRouteName];if(navigator!=null){constaction=NavigationActions.back({ key });navigator.dispatch(action);}},push: (routeName: string,params?: NavigationParams,action?: NavigationNavigateAction,key?: string,)=>void,pop: (n?: number)=>void,reset: (routeName?: string|string[],params?: NavigationParams)=>void,getCanNavigateBack: ()=>{constnavigator=navigatorsByName[navigationRouteName];if(navigator!=null){const{state: {nav: {
index,},},}=navigator;returnindex>0;}returnfalse;},getCurrentRouteName: ()=>string|null,