Průvodci · 07

Přechod z React Native

Co zůstává stejné, co se mění a co přidává web.

Stejná volání

Controllery, grafy a konfigurace následují Animated z React Native. Renderujte hostitele DOM jako Animated.div tam, kde React Native renderuje Animated.View. useAnimatedValue je k dispozici stejně jako v React Native.

Příprava příkladu…

Rozdíly, které je dobré znát

Díky těmto detailům se převedený kód chová stejně jako na zařízení.

  • useNativeDriver a isInteraction jsou přijímány. Přehrávání se místo toho volí pro každý výstup: vhodné výstupy přehrává prohlížeč, ostatní JavaScript.
  • spring přijímá stiffness/damping/mass, bounciness/speed nebo tension/friction, a když nic nezadáte, použije výchozí hodnoty React Native.
  • interpolate podporuje easing a tři režimy extrapolace.
  • Easing odpovídá React Native, včetně elastic. Easing.exp je přeškálováno o 0,1 %, aby začínalo přesně v 0 a mohlo využít přehrávání v prohlížeči.
  • Rychlost decay je v jednotkách za milisekundu a rychlost pružiny v jednotkách za sekundu, jako v React Native.
  • Animated.createAnimatedComponent obalí komponentu, která předává 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();

Co přidává web

Běžný style Reactu přímo přijímá hodnoty hooků, seed/pose/respond popisují cíle a gesta a Animated.Keep a Animated.Scene se starají o odchody a rozvržení.

Hledat

Pište a hledejte v dokumentaci.