Guider · 07

Från React Native

Vad som är detsamma, vad som ändras och vad webben lägger till.

Samma anrop

Controllers, grafer och konfigurationer följer React Natives Animated. Rendera DOM-värdar som Animated.div där React Native renderar Animated.View. useAnimatedValue finns precis som i React Native.

Förbereder exemplet…

Skillnader att känna till

De här detaljerna gör att portad kod beter sig som den gjorde på en enhet.

  • useNativeDriver och isInteraction accepteras. Uppspelningen väljs i stället per utdata: lämpliga utdata spelas upp av webbläsaren, resten i JavaScript.
  • spring tar stiffness/damping/mass, bounciness/speed eller tension/friction, med React Natives standard när inget anges.
  • interpolate stöder easing och de tre extrapoleringslägena.
  • Easing motsvarar React Native, elastic inräknat. Easing.exp är omskalad med 0,1 % för att börja exakt på 0 så att den kan använda webbläsaruppspelning.
  • Hastigheten för decay är i enheter per millisekund och fjäderhastigheten i enheter per sekund, som i React Native.
  • Animated.createAnimatedComponent sveper in en komponent som vidarebefordrar ref.
Spinner.jsx
// React Native
<Animated.View style={{ transform: [{ rotate }] }} />

// React DOM with @kkwaenggwari/animated — the rest is identical
<Animated.div style={{ transform: [{ rotate }] }} />

const spin = useAnimatedValue(0);
const rotate = spin.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] });

Animated.loop(
  Animated.timing(spin, { toValue: 1, duration: 900, easing: Easing.linear, useNativeDriver: true }),
).start();

Vad webben lägger till

Vanlig React-style tar hookvärden direkt, seed/pose/respond beskriver mål och gester, och Animated.Keep och Animated.Scene hanterar utgångar och layout.

Sök

Skriv för att söka i dokumentationen.