OverlayContextWrapper

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

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

Parameters

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

Returns

ReactElement

Usage example

Enrich Locations

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

<OverlayContextWrapper id={'modal'}>
<Modal>
...
</Modal>
</OverlayContextWrapper>

Tracking via Render Props

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

<OverlayContextWrapper id={'modal'}>
{(trackingContext) => (
<Modal
onShow={() => trackVisibleEvent(trackingContext)}
onDismiss={() => trackHiddenEvent(trackingContext)}
closeButton={
<Button title={'close'} onPress={() => trackPressEvent(trackingContext)} />
}
>
...
</Modal>
)}
</OverlayContextWrapper>

Did you know ?

OverlayContextWrapper internally uses LocationContextWrapper.