Vadovai · 04
Įvestis ir gestai
Rašykite žymeklio, vilkimo, slinkimo ir kitą įvestį į reikšmes ir leiskite kitoms reikšmėms jas sekti.
input(target, adapter)
Įvesties adapteris paverčia naršyklės įvykius reikšmių įrašymais. input(ref, adapter) prijungia jį kaip valdiklį; aprašytas useAnimated viduje, jis pašalinamas atjungiant arba pasikeitus priklausomybei.
Adapteriai: dragInput, pinchInput, moveInput, scrollInput, wheelInput, viewportInput, mediaInput, longPressInput ir swipeInput.
Ruošiamas pavyzdys…
Vilkimas su ribomis ir judesiu paleidus
dragInput palaiko vilkimą žymekliu ir rodyklių klavišais, bounds su elastic pasipriešinimu, momentum paleidus ir settle funkciją, kuri iš numatomos padėties pasirenka ramybės vietą.
Jutikliniuose ekranuose, kol prijungtas, jis nustato tikslo touch-action, kad naršyklė nepalaikytų gesto slinkimu. Jūsų pačių nustatyta reikšmė turi pirmenybę.
Ruošiamas pavyzdys…
Suspaudimas, matomoji sritis ir medija
Neprivalomas trečiasis input argumentas gauna kiekvieną reakcijos įvykį, todėl adapteris gali paleisti judesį ir savo kraštuose.
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 įvykių susiejimai veikia su DOM įvykiais. Slinkimo įvykyje nativeEvent.contentOffset, contentSize ir layoutMeasurement perskaitomi iš slenkamo elemento, todėl ScrollView susiejimai perkeliami nepakeisti.
const scrollY = useAnimatedValue(0);
<div onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollY } } }])} />;