11import * as React from 'react' ;
2- import { StyleSheet , Text , View , Alert } from 'react-native' ;
2+ import { StyleSheet , Text , Alert } from 'react-native' ;
33
44import { ContextMenuView } from 'react-native-ios-context-menu' ;
5- import { WrapperView , type WrapperViewRef } from 'react-native-ios-utilities' ;
5+ import { WrapperView , type StateViewID } from 'react-native-ios-utilities' ;
66
77import type { ExampleItemProps } from './SharedExampleTypes' ;
88import { ContextMenuCard } from '../components/ContextMenuCard' ;
99
1010
1111export function ContextMenuViewExample15_02 ( props : ExampleItemProps ) {
12- const wrapperViewRef = React . useRef < WrapperViewRef | undefined > ( ) ;
12+ const [ viewID , setViewID ] = React . useState < StateViewID > ( ) ;
1313
1414 return (
1515 < ContextMenuView
@@ -25,7 +25,7 @@ export function ContextMenuViewExample15_02(props: ExampleItemProps) {
2525 // get the associated id of the view element you want use as the
2626 // preview target
2727 viewIdentifier : {
28- viewID : wrapperViewRef . current ?. getViewID ( ) ! ,
28+ viewID : viewID ! ,
2929 } ,
3030 } }
3131 onPressMenuItem = { ( { nativeEvent} ) => {
@@ -44,14 +44,14 @@ export function ContextMenuViewExample15_02(props: ExampleItemProps) {
4444 ] }
4545 >
4646 < WrapperView
47- // @ts -ignore
48- ref = { wrapperViewRef }
47+ style = { styles . targetContainer }
48+ onDidSetViewID = { ( { nativeEvent} ) => {
49+ setViewID ( nativeEvent . viewID ) ;
50+ } }
4951 >
50- < View style = { styles . targetContainer } >
51- < Text style = { styles . text } >
52- { `Hello inside: WrapperView\nView ID: ${ wrapperViewRef . current ?. getViewID ( ) } ` }
53- </ Text >
54- </ View >
52+ < Text style = { styles . text } >
53+ { `Hello inside: WrapperView\nView ID: ${ viewID } ` }
54+ </ Text >
5555 </ WrapperView >
5656 </ ContextMenuCard >
5757 </ ContextMenuView >
0 commit comments