This commit is contained in:
Dan Abramov
2023-10-03 18:37:44 +01:00
parent ae5ab66b0e
commit aafa81982f
2 changed files with 8 additions and 51 deletions
@@ -156,7 +156,6 @@ const ImageItem = ({
delayLongPress, delayLongPress,
swipeToCloseEnabled = true, swipeToCloseEnabled = true,
doubleTapToZoomEnabled = true, doubleTapToZoomEnabled = true,
gestureRef,
}: Props) => { }: Props) => {
const [isScaled, setIsScaled] = useState(false) const [isScaled, setIsScaled] = useState(false)
const [isLoaded, setIsLoaded] = useState(false) const [isLoaded, setIsLoaded] = useState(false)
@@ -224,7 +223,6 @@ const ImageItem = ({
} }
const pinch = Gesture.Pinch() const pinch = Gesture.Pinch()
.withRef(gestureRef)
.onStart((e) => { .onStart((e) => {
pinchOrigin.value = { pinchOrigin.value = {
x: e.focalX - SCREEN.width/2, x: e.focalX - SCREEN.width/2,
@@ -267,7 +265,6 @@ const ImageItem = ({
const pan = Gesture.Pan() const pan = Gesture.Pan()
.averageTouches(true) .averageTouches(true)
.enabled(isScaled)
.onChange((e) => { .onChange((e) => {
if (!imageDimensions) { if (!imageDimensions) {
return; return;
+1 -41
View File
@@ -112,13 +112,6 @@ function ImageViewing({
return null return null
} }
const [gestureRefs] = useState(new Map())
for (let imageSrc of images) {
if (!gestureRefs.get(imageSrc)) {
gestureRefs.set(imageSrc, createRef())
}
}
return ( return (
<SafeAreaView <SafeAreaView
style={styles.screen} style={styles.screen}
@@ -137,47 +130,14 @@ function ImageViewing({
<ImageDefaultHeader onRequestClose={onRequestCloseEnhanced} /> <ImageDefaultHeader onRequestClose={onRequestCloseEnhanced} />
)} )}
</Animated.View> </Animated.View>
<VirtualizedList
ref={imageList}
data={images}
horizontal
pagingEnabled
showsHorizontalScrollIndicator={false}
showsVerticalScrollIndicator={false}
getItem={(_, index) => images[index]}
getItemCount={() => images.length}
getItemLayout={(_, index) => ({
length: SCREEN_WIDTH,
offset: SCREEN_WIDTH * index,
index,
})}
renderItem={({item: imageSrc}) => (
<ImageItem <ImageItem
onZoom={onZoom} onZoom={onZoom}
imageSrc={imageSrc} imageSrc={images[0]}
onRequestClose={onRequestCloseEnhanced} onRequestClose={onRequestCloseEnhanced}
onLongPress={onLongPress} onLongPress={onLongPress}
delayLongPress={delayLongPress} delayLongPress={delayLongPress}
swipeToCloseEnabled={swipeToCloseEnabled} swipeToCloseEnabled={swipeToCloseEnabled}
doubleTapToZoomEnabled={doubleTapToZoomEnabled} doubleTapToZoomEnabled={doubleTapToZoomEnabled}
gestureRef={gestureRefs.get(imageSrc)}
/>
)}
renderScrollComponent={props => (
<ScrollView
{...props}
waitFor={Array.from(gestureRefs.values())}
/>
)}
onMomentumScrollEnd={onScroll}
//@ts-ignore
keyExtractor={(imageSrc, index) =>
keyExtractor
? keyExtractor(imageSrc, index)
: typeof imageSrc === 'number'
? `${imageSrc}`
: imageSrc.uri
}
/> />
{typeof FooterComponent !== 'undefined' && ( {typeof FooterComponent !== 'undefined' && (
<Animated.View style={[styles.footer, {transform: footerTransform}]}> <Animated.View style={[styles.footer, {transform: footerTransform}]}>