வழிகாட்டிகள் · 05

நுழைவு, வெளியேற்றம், லேஅவுட்

வெளியேறும் குழந்தைகளை அவற்றின் மோஷன் முடியும்வரை வைத்திருங்கள்; நிலை, அளவு மாற்றங்களை, கம்போனென்ட்களுக்கு இடையேயும், அனிமேட் செய்யுங்கள்.

Animated.Keep

Animated.Keep key கொண்ட நேரடிக் குழந்தைகளை அவற்றின் depart pose முழுவதும் வைத்திருக்கிறது. seed={false} முதல் ரெண்டரில் உள்ள குழந்தைகளை அவற்றின் pose-இல் தொடங்க வைக்கிறது, wait வெளியேற்றங்கள் முடியும்வரை நுழையும் குழந்தைகளைத் தாமதப்படுத்துகிறது, onDeparted கடைசியானதுக்குப் பிறகு இயங்குகிறது.

எடுத்துக்காட்டு தயாராகிறது…

Animated.Scene, move

Animated.Scene commit ஆன லேஅவுட்டை அளக்கிறது. move கொண்ட உறுப்பு தன் நிலை, அளவு மாற்றங்களை அனிமேட் செய்கிறது; move="pill" போன்ற சரம், ஒன்று அன்மவுன்ட் ஆகி இன்னொன்று மவுன்ட் ஆனாலும், Scene-க்குள் அதே அடையாளம் கொண்ட உறுப்புகளை இணைக்கிறது.

அந்த உறுப்புகளின் லேஅவுட் translate, scale-ஐ Scene வைத்திருக்கிறது; அதனால் உங்கள் சொந்த transform-களை உள்ளே உள்ள உறுப்பில் வையுங்கள்.

எடுத்துக்காட்டு தயாராகிறது…

ஹூக் மூலம் இருப்பு

மவுன்ட் செய்வதை நீங்களே கட்டுப்படுத்த விரும்பினால், useAnimatedPresence(visible, { enter, exit }) { mounted, animatedValue }-ஐத் தருகிறது.

Toast.jsx
const { mounted, animatedValue } = useAnimatedPresence(open, {
  enter: (value) => spring(value, { toValue: 1 }),
  exit: (value) => timing(value, { toValue: 0, duration: 180 }),
});

return mounted ? <div style={{ opacity: animatedValue }}>Saved</div> : null;

React-க்கு வெளியே

createLayoutScene அதே capture/commit ஒருங்கிணைப்பை எந்த ரெண்டரருக்கும் கையால் செய்யும் DOM மாற்றத்துக்கும் தருகிறது.

outside-react.js
const scene = createLayoutScene({ tempo: { spring: { stiffness: 320, damping: 30 } } });
const card = scene.attach(element, { key: 'card' });

scene.capture(); // before the DOM changes
list.prepend(element); // any renderer or manual DOM work
scene.commit(); // animates from the captured rectangles

தேடு

ஆவணங்களில் தேடத் தட்டச்சு செய்யுங்கள்.