Przewodniki · 07

Przechodzisz z React Native

Co zostaje bez zmian, co się zmienia i co dodaje sieć.

Te same wywołania

Kontrolery, grafy i konfiguracje podążają za Animated z React Native. Renderuj hosty DOM takie jak Animated.div tam, gdzie React Native renderuje Animated.View. useAnimatedValue jest dostępne jak w React Native.

Przygotowywanie przykładu…

Różnice, które warto znać

Dzięki tym szczegółom przeniesiony kod zachowuje się tak, jak na urządzeniu.

  • useNativeDriver i isInteraction są akceptowane. Odtwarzanie jest za to wybierane dla każdego wyjścia: kwalifikujące się wyjścia odtwarza przeglądarka, resztę JavaScript.
  • spring przyjmuje stiffness/damping/mass, bounciness/speed albo tension/friction, a bez żadnego z nich domyślne ustawienie React Native.
  • interpolate obsługuje easing i trzy tryby ekstrapolacji.
  • Easing odpowiada React Native, łącznie z elastic. Easing.exp jest przeskalowane o 0,1%, by zaczynać dokładnie od 0 i móc korzystać z odtwarzania w przeglądarce.
  • Prędkość decay jest w jednostkach na milisekundę, a prędkość sprężyny w jednostkach na sekundę, jak w React Native.
  • Animated.createAnimatedComponent owija komponent przekazujący 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 dodaje sieć

Zwykły style React przyjmuje wartości hooków bezpośrednio, seed/pose/respond opisują cele i gesty, a Animated.Keep i Animated.Scene obsługują wyjścia i układ.

Szukaj

Zacznij pisać, aby przeszukać dokumentację.