Sprievodcovia · 07

Prechod z React Native

Čo zostáva rovnaké, čo sa mení a čo pridáva web.

Rovnaké volania

Controllery, grafy a konfigurácie nasledujú Animated z React Native. Renderujte hostiteľov DOM ako Animated.div tam, kde React Native renderuje Animated.View. useAnimatedValue je k dispozícii rovnako ako v React Native.

Príprava príkladu…

Rozdiely, ktoré je dobré poznať

Vďaka týmto detailom sa prenesený kód správa rovnako ako na zariadení.

  • useNativeDriver a isInteraction sú prijímané. Prehrávanie sa namiesto toho volí pre každý výstup: vhodné výstupy prehráva prehliadač, ostatné JavaScript.
  • spring prijíma stiffness/damping/mass, bounciness/speed alebo tension/friction, a keď nič nezadáte, použije predvolené hodnoty React Native.
  • interpolate podporuje easing a tri režimy extrapolácie.
  • Easing zodpovedá React Native, vrátane elastic. Easing.exp je preškálované o 0,1 %, aby začínalo presne v 0 a mohlo využiť prehrávanie v prehliadači.
  • Rýchlosť decay je v jednotkách za milisekundu a rýchlosť pružiny v jednotkách za sekundu, ako v React Native.
  • Animated.createAnimatedComponent obalí komponent, ktorý odovzdáva 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();

Čo pridáva web

Bežný style Reactu priamo prijíma hodnoty hookov, seed/pose/respond opisujú ciele a gestá a Animated.Keep a Animated.Scene sa starajú o odchody a rozloženie.

Hľadať

Píšte a hľadajte v dokumentácii.