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 | ||
---|---|---|
required | children | ReactNode | ((parameters: TrackingContext) => void) |
required | id | string |
Returns
ReactElement
Usage example
Enrich Locations
import { ExpandableContextWrapper } from '@objectiv/tracker-react-native';
<ExpandableContextWrapper id={'tooltip'}>
<Tooltip>
...
</Tooltip>
</ExpandableContextWrapper>
Tracking via Render Props
import {
ExpandableContextWrapper,
trackPressEvent,
trackVisibility
} from '@objectiv/tracker-react-native';
<ExpandableContextWrapper id={'accordion'}>
{(trackingContext) => (
<Accordion
onPress={() => trackPressEvent(trackingContext)}
onToggle={(isOpen) => trackVisibility({
...trackingContext,
isVisible: isOpen
})}
>
...
</Accordion>
)}
</ExpandableContextWrapper>
Did you know ?
ExpandableContextWrapper
internally uses LocationContextWrapper.