11import * as React from 'react' ;
2- import { StyleSheet , View , Text , Switch , findNodeHandle } from 'react-native' ;
2+ import { StyleSheet , View , Text , Switch } from 'react-native' ;
33
4- import { ContextMenuView , type MenuPreviewConfig } from 'react-native-ios-context-menu' ;
4+ import { ContextMenuView , WrapperView , type MenuPreviewConfig } from 'react-native-ios-context-menu' ;
55
66import type { ExampleItemProps } from './SharedExampleTypes' ;
77import { ContextMenuCard } from '../components/ContextMenuCard' ;
88
99
1010export function ContextMenuViewTest07 ( props : ExampleItemProps ) {
1111 const [ counter , setCounter ] = React . useState ( 0 ) ;
12- const [ targetViewNode , setTargetViewNode ] = React . useState ( null ) ;
12+ const [ targetViewID , setTargetViewID ] = React . useState ( null ) ;
1313
1414 const [ isResizeAnimated , setIsResizeAnimated ] = React . useState ( false ) ;
1515 const [ togglePreviewType , setTogglePreviewType ] = React . useState ( false ) ;
1616 const [ togglePreviewSize , setTogglePreviewSize ] = React . useState ( false ) ;
1717 const [ toggleBgTransparent , setToggleBgTransparent ] = React . useState ( false ) ;
18- const [ toggleTargetViewNode , setToggleTargetViewNode ] = React . useState ( false ) ;
18+ const [ toggleTargetViewID , setToggleTargetViewID ] = React . useState ( false ) ;
1919 const [ togglePreferredCommitStyle , setTogglePreferredCommitStyle ] = React . useState ( false ) ;
2020
2121 const intervalRef = React . useRef < NodeJS . Timer | undefined > ( ) ;
@@ -41,8 +41,10 @@ export function ContextMenuViewTest07(props: ExampleItemProps) {
4141 ( toggleBgTransparent ? 'white' : 'rgba(255,255,255,0.5)' ) ,
4242
4343 isResizeAnimated,
44- ...( toggleTargetViewNode && {
45- targetViewNode
44+ ...( toggleTargetViewID && {
45+ viewIdentifier : {
46+ viewID : targetViewID ! ,
47+ } ,
4648 } ) ,
4749 } ;
4850
@@ -116,19 +118,17 @@ export function ContextMenuViewTest07(props: ExampleItemProps) {
116118 `Test for the different possible custom menu preview config`
117119 ] }
118120 >
119- { toggleTargetViewNode && (
120- < View
121+ { toggleTargetViewID && (
122+ < WrapperView
121123 style = { styles . targetViewContainer }
122- ref = { ref => {
123- setTargetViewNode (
124- findNodeHandle ( ref )
125- ) ;
124+ onDidSetViewID = { ( { nativeEvent} ) => {
125+ setTargetViewID ( nativeEvent . viewID ) ;
126126 } }
127127 >
128128 < Text style = { styles . targetViewText } >
129129 { 'Target View' }
130130 </ Text >
131- </ View >
131+ </ WrapperView >
132132 ) }
133133 < View style = { styles . rowContainer } >
134134 < View style = { styles . textRowContainer } >
@@ -228,19 +228,19 @@ export function ContextMenuViewTest07(props: ExampleItemProps) {
228228 < View style = { styles . rowContainer } >
229229 < View style = { styles . textRowContainer } >
230230 < Text style = { styles . textRowTitle } >
231- { 'targetViewNode ' }
231+ { 'targetViewID ' }
232232 </ Text >
233233 < Text style = { styles . textRowSubtitle } >
234234 < Text style = { styles . textRowSubtitleLabel } >
235235 { 'Value: ' }
236236 </ Text >
237- { previewConfig . targetViewNode }
237+ { previewConfig . viewIdentifier ?. viewID }
238238 </ Text >
239239 </ View >
240240 < Switch
241- value = { toggleTargetViewNode }
241+ value = { toggleTargetViewID }
242242 onValueChange = { ( flag ) => {
243- setToggleTargetViewNode ( flag ) ;
243+ setToggleTargetViewID ( flag ) ;
244244 } }
245245 />
246246 </ View >
0 commit comments