MotionZoom
Obraz powiększający się ze swojego miejsca na cały ekran; odciągnij go, by zamknąć.
SiećReact NativeNakładki
Wypróbuj
Przygotowywanie przykładu…
Najkrótsze użycie
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Co robi za ciebie
- Kliknięcie, Enter lub spacja powiększa obraz od miejsca, w którym jest, aż wypełni ekran w granicach
margin. - Powiększona kopia zaczyna dokładnie tak, jak wygląda miniatura, z kadrowaniem
object-fiti zaokrągleniem narożników. zoomSrcpojawia się stopniowo, gdy tylko się wczyta.- Kliknięcie, Escape lub odciągnięcie zamyka; szybki rzut też zamyka, a krótkie przeciągnięcie wraca sprężyście.
Do czego służy
- Siatka zdjęć.
- Galeria produktów.
- Obrazy w poście na blogu.
Props
| Prop | Typ | Domyślnie | Opis |
|---|---|---|---|
src | string | Obraz pokazywany w miejscu. | |
zoomSrc | string | Większy obraz pokazywany, gdy się wczyta; zachowaj te same proporcje. | |
margin | number | 24 | Odstęp wokół powiększonego obrazu w pikselach. |
disabled | boolean | false | Wyłącza powiększanie. |
onZoomChange | (zoomed) => void | Uruchamia się z true po powiększeniu i false po zamknięciu. | |
backdropStyle | CSSProperties | Styl inline tła. | |
transition | Transition | spring | Krzywa timing { duration, easing } lub sprężyna { tempo: 'spring', spring }. Sprężyny zachowują pęd po przerwaniu. |
Pozostałe props trafiają do renderowanego elementu, więc className, style i obsługa zdarzeń działają jak zwykle.
Sieć i React Native
Nakładka istnieje tylko w trakcie powiększenia (w sieci dialog w warstwie górnej), więc obraz może być w dowolnym miejscu, nawet w akapicie. Pozostałe props trafiają do img.
W React Native przekaż source i zoomSource; nakładka to przezroczysty Modal.