Hướng dẫn · 07

Đến từ React Native

Điều gì giữ nguyên, điều gì thay đổi và web bổ sung gì.

Lời gọi giống nhau

Bộ điều khiển, đồ thị và cấu hình theo Animated của React Native. Render host DOM như Animated.div ở nơi React Native render Animated.View. useAnimatedValue có sẵn như trong React Native.

Đang chuẩn bị ví dụ…

Những khác biệt cần biết

Những chi tiết này giúp mã chuyển sang hoạt động như trên thiết bị.

  • useNativeDriver và isInteraction được chấp nhận. Thay vào đó, cách phát được chọn theo từng đầu ra: đầu ra đủ điều kiện phát trong trình duyệt, phần còn lại trong JavaScript.
  • spring nhận stiffness/damping/mass, bounciness/speed hoặc tension/friction, với mặc định của React Native khi không truyền gì.
  • interpolate hỗ trợ easing và ba chế độ ngoại suy.
  • Easing khớp với React Native, kể cả elastic. Easing.exp được co giãn lại 0,1% để bắt đầu đúng tại 0 và có thể phát bằng trình duyệt.
  • Vận tốc decay tính theo đơn vị trên mili giây, còn vận tốc spring theo đơn vị trên giây, như trong React Native.
  • Animated.createAnimatedComponent bọc một component chuyển tiếp 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();

Web bổ sung gì

style React thông thường nhận trực tiếp giá trị hook, seed/pose/respond mô tả đích và cử chỉ, còn Animated.Keep và Animated.Scene xử lý việc rời đi và bố cục.

Tìm kiếm

Gõ để tìm trong tài liệu.