ExpandableContextWrapper

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

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

Parameters

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

Returns

ReactElement

Usage example

Enrich Locations

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

<ExpandableContextWrapper id={'tooltip'}>
<Tooltip>
...
</Tooltip>
</ExpandableContextWrapper>

Tracking via Render Props

import { 
ExpandableContextWrapper,
trackPressEvent,
trackVisibility
} from '@objectiv/tracker-react';

<ExpandableContextWrapper id={'accordion'}>
{(trackingContext) => (
<Accordion
onClick={() => trackPressEvent(trackingContext)}
onToggle={(isOpen) => trackVisibility({
...trackingContext,
isVisible: isOpen
})}
>
...
</Accordion>
)}
</ExpandableContextWrapper>

Did you know ?

ExpandableContextWrapper internally uses LocationContextWrapper.