Gidsen · 07

Overstappen vanaf React Native

Wat hetzelfde blijft, wat verandert en wat het web toevoegt.

Dezelfde aanroepen

Controllers, grafen en configuraties volgen Animated van React Native. Render DOM-hosts zoals Animated.div waar React Native Animated.View rendert. useAnimatedValue is beschikbaar zoals in React Native.

Voorbeeld voorbereiden…

Verschillen om te kennen

Deze details zorgen dat geporte code zich gedraagt zoals op een apparaat.

  • useNativeDriver en isInteraction worden geaccepteerd. Afspelen wordt in plaats daarvan per uitvoer gekozen: geschikte uitvoer speelt de browser af, de rest JavaScript.
  • spring accepteert stiffness/damping/mass, bounciness/speed of tension/friction, met de standaard van React Native als er niets wordt opgegeven.
  • interpolate ondersteunt easing en de drie extrapolatiemodi.
  • Easing komt overeen met React Native, elastic inbegrepen. Easing.exp is 0,1% herschaald om precies bij 0 te beginnen, zodat het afspelen door de browser kan gebruiken.
  • De snelheid van decay is in eenheden per milliseconde en die van veren in eenheden per seconde, zoals in React Native.
  • Animated.createAnimatedComponent wikkelt een component dat een ref doorgeeft.
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();

Wat het web toevoegt

Gewone React-style accepteert hookwaarden direct, seed/pose/respond beschrijven bestemmingen en gebaren, en Animated.Keep en Animated.Scene regelen vertrek en layout.

Zoeken

Typ om de documentatie te doorzoeken.