تكرار السؤال: …
الإجابة المختصرة
حركات الـ Spring تحاكي القوانين الفيزيائية الحقيقية (الكتلة والصلابة والتخميد) دون تحديد مدة زمنية ثابتة، وتتكيف طبيعياً مع سرعة إيماءة إصبع المستخدم دون توقف مصطنع.
الشرح
الحركات المعتمدة على المدة الزمنية الثابتة (Timing مع Duration و Easing) تبدو آلية وجافة وغالباً ما تصطدم بحركة إصبع المستخدم إذا كان سريعاً. بينما تحسب فيزياء الـ Spring سرعة الانطلاق (Velocity)، والتخميد (Damping)، والصلابة (Stiffness)، مما يمنح الواجهة ملمساً طبيعياً ومرناً يشبه سحب الأجسام الحقيقية.
مثال بالكود
import { withSpring } from 'react-native-reanimated';
// حركة نابض فيزيائية عالية الاستجابة
offset.value = withSpring(100, {
damping: 12,
stiffness: 100,
mass: 0.5,
});أخطاء شائعة
- ضبط قيمة تخميد (damping) منخفضة جداً مما يجعل العنصر يرتد ويتذبذب إلى ما لا نهاية ويشتت المستخدم.