Panduan · 07

Berasal dari React Native

Apa yang tetap sama, apa yang berubah, dan apa yang ditambahkan web.

Panggilan yang sama

Pengendali, graf, dan konfigurasi mengikuti Animated dari React Native. Render host DOM seperti Animated.div di tempat React Native merender Animated.View. useAnimatedValue tersedia seperti di React Native.

Menyiapkan contoh…

Perbedaan yang perlu diketahui

Detail ini menjaga kode yang dipindahkan berperilaku seperti di perangkat.

  • useNativeDriver dan isInteraction diterima. Pemutaran justru dipilih per keluaran: keluaran yang memenuhi syarat diputar di browser, sisanya di JavaScript.
  • spring menerima stiffness/damping/mass, bounciness/speed, atau tension/friction, dengan bawaan React Native bila tidak ada yang diberikan.
  • interpolate mendukung easing dan tiga mode ekstrapolasi.
  • Easing sesuai dengan React Native, termasuk elastic. Easing.exp diskalakan ulang 0,1% agar dimulai tepat di 0 sehingga bisa memakai pemutaran browser.
  • Kecepatan decay dalam satuan per milidetik dan kecepatan spring dalam satuan per detik, seperti di React Native.
  • Animated.createAnimatedComponent membungkus komponen yang meneruskan 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();

Yang ditambahkan web

style React biasa langsung menerima nilai hook, seed/pose/respond menggambarkan tujuan dan gestur, dan Animated.Keep serta Animated.Scene menangani kepergian dan tata letak.

Cari

Ketik untuk mencari dokumentasi.