Kılavuzlar · 04

Girdi ve hareketler

İşaretçiyi, sürüklemeyi, kaydırmayı ve diğer girdileri değerlere yazın, diğer değerlerin onları izlemesine izin verin.

input(target, adapter)

Bir girdi adaptörü tarayıcı olaylarını değer yazmalarına dönüştürür. input(ref, adapter) onu bir denetleyici olarak bağlar; useAnimated içinde bildirildiyse ayrılınca ya da bir bağımlılık değişince kaldırılır.

Adaptörler: dragInput, pinchInput, moveInput, scrollInput, wheelInput, viewportInput, mediaInput, longPressInput ve swipeInput.

Örnek hazırlanıyor…

Sınırlar ve bırakma hareketiyle sürükleme

dragInput işaretçi ve ok tuşlarıyla sürüklemeyi, elastic dirençli bounds'u, bırakmadan sonra momentum'u ve öngörülen konumdan durma yerini seçen bir settle fonksiyonunu destekler.

Dokunmatik ekranlarda bağlıyken hedefin touch-action'ını ayarlar; böylece tarayıcı hareketi kaydırma sanıp almaz. Kendi ayarladığınız değer önceliklidir.

Örnek hazırlanıyor…

Kıstırma, görünüm alanı ve medya

input'un isteğe bağlı üçüncü argümanı her yanıt olayını alır; böylece bir adaptör kendi kenarlarında hareket de başlatabilir.

inputs.jsx
const card = useRef(null);

const pinch = useAnimated(
  { scale: 1, rotation: 0 },
  (value) => {
    input(card, pinchInput({ scale: value.scale, rotation: value.rotation, minScale: 0.5 }));
  },
  [],
);

const reveal = useAnimated(
  0,
  (value) => {
    input(card, viewportInput({ once: true }), (event) => {
      if (event.phase === 'in') spring(value, { toValue: 1 }).start();
    });
  },
  [],
);

Animated.event

React Native olay eşlemeleri DOM olaylarında çalışır. Bir kaydırma olayında nativeEvent.contentOffset, contentSize ve layoutMeasurement kaydırılan öğeden okunur; ScrollView eşlemeleri değişmeden taşınır.

Header.jsx
const scrollY = useAnimatedValue(0);

<div onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollY } } }])} />;

Ara

Belgelerde aramak için yazın.