Guides · 07

Umstieg von React Native

Was gleich bleibt, was sich ändert und was das Web hinzufügt.

Dieselben Aufrufe

Controller, Graphen und Optionen folgen dem Animated von React Native. Rendere DOM-Hosts wie Animated.div dort, wo React Native Animated.View rendert. useAnimatedValue gibt es wie in React Native.

Beispiel wird vorbereitet…

Unterschiede, die du kennen solltest

Diese Details sorgen dafür, dass portierter Code sich so verhält wie auf einem Gerät.

  • useNativeDriver und isInteraction werden akzeptiert. Die Wiedergabe wird stattdessen pro Ausgabe gewählt: Geeignete Ausgaben laufen im Browser, der Rest in JavaScript.
  • spring akzeptiert stiffness/damping/mass, bounciness/speed oder tension/friction, mit dem React-Native-Standard, wenn nichts angegeben ist.
  • interpolate unterstützt easing und die drei Extrapolationsmodi.
  • Easing entspricht React Native, einschließlich elastic. Easing.exp ist um 0,1 % umskaliert, damit es genau bei 0 beginnt und im Browser abgespielt werden kann.
  • Die Geschwindigkeit von decay ist in Einheiten pro Millisekunde, die von spring in Einheiten pro Sekunde angegeben – wie in React Native.
  • Animated.createAnimatedComponent umschließt eine Komponente, die ihre ref weiterleitet.
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();

Was das Web hinzufügt

Normaler React-style akzeptiert Hook-Werte direkt, seed/pose/respond beschreiben Ziele und Gesten, und Animated.Keep und Animated.Scene kümmern sich um Abgänge und Layout.

Suchen

Tippe, um die Dokumentation zu durchsuchen.