Guide · 07

Se vieni da React Native

Che cosa resta uguale, che cosa cambia e che cosa aggiunge il web.

Le stesse chiamate

Controller, grafi e configurazioni seguono l’Animated di React Native. Renderizza host DOM come Animated.div dove React Native renderizza Animated.View. useAnimatedValue è disponibile come in React Native.

Preparazione dell’esempio…

Differenze da conoscere

Questi dettagli fanno sì che il codice portato si comporti come sul dispositivo.

  • useNativeDriver e isInteraction sono accettati. La riproduzione invece si sceglie per ogni output: gli output idonei vengono riprodotti dal browser, gli altri in JavaScript.
  • spring accetta stiffness/damping/mass, bounciness/speed oppure tension/friction, con il valore predefinito di React Native quando non ne indichi nessuno.
  • interpolate supporta easing e le tre modalità di estrapolazione.
  • Easing corrisponde a React Native, elastic compreso. Easing.exp è riscalata dello 0,1% per partire esattamente da 0, così può usare la riproduzione del browser.
  • La velocità di decay è in unità al millisecondo e quella delle molle in unità al secondo, come in React Native.
  • Animated.createAnimatedComponent avvolge un componente che inoltra il 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();

Che cosa aggiunge il web

Il normale style di React accetta direttamente i valori degli hook, seed/pose/respond descrivono destinazioni e gesti, e Animated.Keep e Animated.Scene gestiscono uscite e layout.

Cerca

Scrivi per cercare nella documentazione.