గైడ్లు · 04
ఇన్పుట్, సంజ్ఞలు
పాయింటర్, లాగడం, స్క్రోల్, ఇతర ఇన్పుట్లను విలువలలో రాసి, ఇతర విలువలు వాటిని అనుసరించేలా చేయండి.
input(target, adapter)
ఇన్పుట్ అడాప్టర్ బ్రౌజర్ ఈవెంట్లను విలువ రాతలుగా మారుస్తుంది. input(ref, adapter) దాన్ని కంట్రోలర్గా జోడిస్తుంది; useAnimated లోపల ప్రకటిస్తే, అన్మౌంట్పై లేదా ఆధారం మారినప్పుడు తీసివేయబడుతుంది.
అడాప్టర్లు: dragInput, pinchInput, moveInput, scrollInput, wheelInput, viewportInput, mediaInput, longPressInput, swipeInput.
ఉదాహరణ సిద్ధమవుతోంది…
సరిహద్దులు, విడుదల మోషన్తో లాగడం
dragInput పాయింటర్, బాణం కీ లాగడం, elastic ప్రతిఘటనతో bounds, విడిచిన తర్వాత momentum, అంచనా స్థానం నుండి విశ్రాంతి స్థలాన్ని ఎంచుకునే settle ఫంక్షన్కు మద్దతు ఇస్తుంది.
టచ్ స్క్రీన్లపై, మౌంట్ అయి ఉన్నప్పుడు లక్ష్యం యొక్క touch-action-ను సెట్ చేస్తుంది; అందువల్ల బ్రౌజర్ సంజ్ఞను స్క్రోల్గా తీసుకోదు. మీరే సెట్ చేసిన విలువకు ప్రాధాన్యత.
ఉదాహరణ సిద్ధమవుతోంది…
Pinch, viewport, media
input యొక్క ఐచ్ఛిక మూడవ ఆర్గ్యుమెంట్ ప్రతి స్పందన ఈవెంట్ను పొందుతుంది; అందువల్ల అడాప్టర్ తన అంచులపై మోషన్ను కూడా ప్రారంభించగలదు.
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 ఈవెంట్ మ్యాపింగ్లు DOM ఈవెంట్లపై పనిచేస్తాయి. scroll ఈవెంట్లో nativeEvent.contentOffset, contentSize, layoutMeasurement స్క్రోల్ చేసిన ఎలిమెంట్ నుండి చదవబడతాయి; అందువల్ల ScrollView మ్యాపింగ్లు మార్పు లేకుండా తీసుకురావచ్చు.
const scrollY = useAnimatedValue(0);
<div onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollY } } }])} />;