NavigationContextWrapper

Wraps its children in a NavigationContext.
Children can be a ReactNode or a Render Props function receiving TrackingContext.

NavigationContextWrapper: (props: {
children: ReactNode | ((parameters: TrackingContext) => ReactNode),
id: string
}) => ReactElement

Parameters

type
requiredchildrenReactNode | ((parameters: TrackingContext) => void)
requiredidstring

Returns

ReactElement

Usage example

Enrich Locations

import { NavigationContextWrapper } from '@objectiv/tracker-react-native';

<NavigationContextWrapper id={'footer'}>
<View>
<Link to={'Home'}>Home</Link>
<Link to={'Privacy'}>Privacy</Link>
<Link to={'Contact'}>Contact</Link>
</View>
</NavigationContextWrapper>

Tracking via Render Props

import { 
NavigationContextWrapper,
trackHiddenEvent,
trackVisibleEvent
} from '@objectiv/tracker-react-native';

<NavigationContextWrapper id={'drawer'}>
{(trackingContext) => (
<DrawerLayoutAndroid
onDrawerOpen={() => trackVisibleEvent(trackingContext)}
onDrawerClose={() => trackHiddenEvent(trackingContext)}
>
<Link to={'Home'}>Home</Link>
<Link to={'Privacy'}>Privacy</Link>
<Link to={'Contact'}>Contact</Link>
</DrawerLayoutAndroid>
)}
</NavigationContextWrapper>

Did you know ?

NavigationContextWrapper internally uses LocationContextWrapper.