Oppaat · 07

React Nativesta siirtyville

Mikä pysyy samana, mikä muuttuu ja mitä web tuo lisää.

Samat kutsut

Ohjaimet, graafit ja asetukset noudattavat React Nativen Animated-moduulia. Renderöi DOM-isäntiä, kuten Animated.div, siellä missä React Native renderöi Animated.View-komponentin. useAnimatedValue on saatavilla kuten React Nativessa.

Valmistellaan esimerkkiä…

Tiedettävät erot

Nämä yksityiskohdat pitävät siirretyn koodin toiminnan samana kuin laitteella.

  • useNativeDriver ja isInteraction hyväksytään. Toisto valitaan sen sijaan tulosta kohden: kelpoiset tulokset toistetaan selaimessa, loput JavaScriptissä.
  • spring hyväksyy parametrit stiffness/damping/mass, bounciness/speed tai tension/friction, ja ilman niitä React Nativen oletuksen.
  • interpolate tukee easing-asetusta ja kolmea ekstrapolointitilaa.
  • Easing vastaa React Nativea, elastic mukaan lukien. Easing.exp on skaalattu uudelleen 0,1 %, jotta se alkaa tasan nollasta ja voi käyttää selaintoistoa.
  • Decayn nopeus on yksikköä millisekunnissa ja springin nopeus yksikköä sekunnissa, kuten React Nativessa.
  • Animated.createAnimatedComponent käärii refin välittävän komponentin.
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();

Mitä web tuo lisää

Tavallinen React style hyväksyy hookien arvot suoraan, seed/pose/respond kuvaavat kohteita ja eleitä, ja Animated.Keep sekä Animated.Scene hoitavat poistumiset ja asettelun.

Haku

Kirjoita hakeaksesi dokumentaatiosta.