Wszystkie komponenty

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

Photo.jsx
<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-fit i zaokrągleniem narożników.
  • zoomSrc pojawia 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

PropTypDomyślnieOpis
srcstringObraz pokazywany w miejscu.
zoomSrcstringWiększy obraz pokazywany, gdy się wczyta; zachowaj te same proporcje.
marginnumber24Odstęp wokół powiększonego obrazu w pikselach.
disabledbooleanfalseWyłącza powiększanie.
onZoomChange(zoomed) => voidUruchamia się z true po powiększeniu i false po zamknięciu.
backdropStyleCSSPropertiesStyl inline tła.
transitionTransitionspringKrzywa 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.

Użyty w tych przykładach

Szukaj

Zacznij pisać, aby przeszukać dokumentację.