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 @@ -57,11 +57,17 @@ import {
57
57
function App() {
58
58
const images = [... ];
59
59
const [visible, setVisible] = useState (false );
60
+ const [selectedIndex, setSelectedIndex] = useState (0 );
60
61
61
62
const { goToIndex, goToPrevious, goToNext } = useGestureViewerController ();
62
63
63
64
const { currentIndex, totalCount } = useGestureViewerState ();
64
65
66
+ const openModal = (index : number ) => {
67
+ setSelectedIndex (index );
68
+ setVisible (true );
69
+ };
70
+
65
71
const renderImage = useCallback ((imageUrl : string ) => {
66
72
return <Image source = { { uri: imageUrl }} style = { { width: ' 100%' , height: ' 100%' }} resizeMode = " contain" />;
67
73
}, []);
@@ -73,15 +79,16 @@ function App() {
73
79
return (
74
80
<View >
75
81
{ images .map ((uri , index ) => (
76
- <GestureTrigger key = { uri } onPress = { () => setVisible ( true )} >
82
+ <GestureTrigger key = { uri } onPress = { () => openModal ( index )} >
77
83
<Pressable >
78
84
<Image source = { { uri }} />
79
85
</Pressable >
80
86
</GestureTrigger >
81
87
))}
82
- <Modal visible = { visible } onRequestClose = { () => setVisible ( false ) } >
88
+ <Modal transparent visible = { visible } >
83
89
<GestureViewer
84
90
data = { images }
91
+ initialIndex = { selectedIndex }
85
92
renderItem = { renderImage }
86
93
ListComponent = { ScrollView }
87
94
onDismiss = { () => setVisible (false )}
Original file line number Diff line number Diff line change @@ -57,11 +57,17 @@ import {
57
57
function App() {
58
58
const images = [... ];
59
59
const [visible, setVisible] = useState (false );
60
+ const [selectedIndex, setSelectedIndex] = useState (0 );
60
61
61
62
const { goToIndex, goToPrevious, goToNext } = useGestureViewerController ();
62
63
63
64
const { currentIndex, totalCount } = useGestureViewerState ();
64
65
66
+ const openModal = (index : number ) => {
67
+ setSelectedIndex (index );
68
+ setVisible (true );
69
+ };
70
+
65
71
const renderImage = useCallback ((imageUrl : string ) => {
66
72
return <Image source = { { uri: imageUrl }} style = { { width: ' 100%' , height: ' 100%' }} resizeMode = " contain" />;
67
73
}, []);
@@ -73,15 +79,16 @@ function App() {
73
79
return (
74
80
<View >
75
81
{ images .map ((uri , index ) => (
76
- <GestureTrigger key = { uri } onPress = { () => setVisible ( true )} >
82
+ <GestureTrigger key = { uri } onPress = { () => openModal ( index )} >
77
83
<Pressable >
78
84
<Image source = { { uri }} />
79
85
</Pressable >
80
86
</GestureTrigger >
81
87
))}
82
- <Modal visible = { visible } onRequestClose = { () => setVisible ( false ) } >
88
+ <Modal transparent visible = { visible } >
83
89
<GestureViewer
84
90
data = { images }
91
+ initialIndex = { selectedIndex }
85
92
renderItem = { renderImage }
86
93
ListComponent = { ScrollView }
87
94
onDismiss = { () => setVisible (false )}
You can’t perform that action at this time.
0 commit comments