File tree Expand file tree Collapse file tree 2 files changed +18
-4
lines changed Expand file tree Collapse file tree 2 files changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -40,11 +40,17 @@ import {
40
40
function App() {
41
41
const images = [... ];
42
42
const [visible, setVisible] = useState (false );
43
+ const [selectedIndex, setSelectedIndex] = useState (0 );
43
44
44
45
const { goToIndex, goToPrevious, goToNext } = useGestureViewerController ();
45
46
46
47
const { currentIndex, totalCount } = useGestureViewerState ();
47
48
49
+ const openModal = (index : number ) => {
50
+ setSelectedIndex (index );
51
+ setVisible (true );
52
+ };
53
+
48
54
const renderImage = useCallback ((imageUrl : string ) => {
49
55
return <Image source = { { uri: imageUrl }} style = { { width: ' 100%' , height: ' 100%' }} resizeMode = " contain" />;
50
56
}, []);
@@ -56,15 +62,16 @@ function App() {
56
62
return (
57
63
<View >
58
64
{ images .map ((uri , index ) => (
59
- <GestureTrigger key = { uri } onPress = { () => setVisible ( true )} >
65
+ <GestureTrigger key = { uri } onPress = { () => openModal ( index )} >
60
66
<Pressable >
61
67
<Image source = { { uri }} />
62
68
</Pressable >
63
69
</GestureTrigger >
64
70
))}
65
- <Modal visible = { visible } onRequestClose = { () => setVisible ( false ) } >
71
+ <Modal transparent visible = { visible } >
66
72
<GestureViewer
67
73
data = { images }
74
+ initialIndex = { selectedIndex }
68
75
renderItem = { renderImage }
69
76
ListComponent = { ScrollView }
70
77
onDismiss = { () => setVisible (false )}
Original file line number Diff line number Diff line change @@ -40,11 +40,17 @@ import {
40
40
function App() {
41
41
const images = [... ];
42
42
const [visible, setVisible] = useState (false );
43
+ const [selectedIndex, setSelectedIndex] = useState (0 );
43
44
44
45
const { goToIndex, goToPrevious, goToNext } = useGestureViewerController ();
45
46
46
47
const { currentIndex, totalCount } = useGestureViewerState ();
47
48
49
+ const openModal = (index : number ) => {
50
+ setSelectedIndex (index );
51
+ setVisible (true );
52
+ };
53
+
48
54
const renderImage = useCallback ((imageUrl : string ) => {
49
55
return <Image source = { { uri: imageUrl }} style = { { width: ' 100%' , height: ' 100%' }} resizeMode = " contain" />;
50
56
}, []);
@@ -56,15 +62,16 @@ function App() {
56
62
return (
57
63
<View >
58
64
{ images .map ((uri , index ) => (
59
- <GestureTrigger key = { uri } onPress = { () => setVisible ( true )} >
65
+ <GestureTrigger key = { uri } onPress = { () => openModal ( index )} >
60
66
<Pressable >
61
67
<Image source = { { uri }} />
62
68
</Pressable >
63
69
</GestureTrigger >
64
70
))}
65
- <Modal visible = { visible } onRequestClose = { () => setVisible ( false ) } >
71
+ <Modal transparent visible = { visible } >
66
72
<GestureViewer
67
73
data = { images }
74
+ initialIndex = { selectedIndex }
68
75
renderItem = { renderImage }
69
76
ListComponent = { ScrollView }
70
77
onDismiss = { () => setVisible (false )}
You can’t perform that action at this time.
0 commit comments