1- import type { NavigationContainerProps , NavigationContainerRefWithCurrent } from '@react-navigation/native'
1+ import type { NavigationContainerRefWithCurrent } from '@react-navigation/native'
22import { useNavigationContainerRef , NavigationContainer } from '@react-navigation/native'
33import React from 'react'
44import type { NavigationTracker } from './navigation-tracker'
@@ -7,16 +7,22 @@ type CreateNavigationContainer = (NavigationContainerComponent: typeof Navigatio
77type NavigationContainerRef = NavigationContainerRefWithCurrent < ReactNavigation . RootParamList >
88
99export const createNavigationContainer : CreateNavigationContainer = ( NavigationContainerComponent = NavigationContainer , navigationTracker : NavigationTracker ) => {
10- return React . forwardRef < NavigationContainerRef , NavigationContainerProps > ( ( props , _ref ) => {
11- const navigationContainerRef = _ref as NavigationContainerRef || useNavigationContainerRef ( )
10+ return React . forwardRef < NavigationContainerRef , React . ComponentPropsWithoutRef < typeof NavigationContainer > > ( ( props , ref ) => {
11+ const navigationContainerRef = ref as NavigationContainerRef || useNavigationContainerRef ( )
1212
13- navigationTracker . configure ( navigationContainerRef )
13+ const wrappedOnReady = ( ) => {
14+ navigationTracker . configure ( navigationContainerRef )
15+ if ( typeof props . onReady === 'function' ) {
16+ props . onReady ( )
17+ }
18+ }
1419
1520 return (
16- < NavigationContainerComponent
17- { ...props }
18- ref = { navigationContainerRef }
19- />
21+ < NavigationContainerComponent
22+ { ...props }
23+ ref = { navigationContainerRef }
24+ onReady = { wrappedOnReady }
25+ />
2026 )
2127 } ) as typeof NavigationContainerComponent
2228}
0 commit comments