تكرار السؤال: …
الإجابة المختصرة
imperative مناسب لأمر انتقال محلي سريع، بينما declarative يصف stack من state ويُفضّل عندما تتغير الروابط أو auth أو deep links باستمرار.
الشرح
في declarative navigation يكون route state مصدر الحقيقة ويمكن إعادة بنائه من URL أو session. لا تستخدم نمطًا معقدًا لمجرد شاشة واحدة، ولا تخلط مصادر متعددة تتحكم في stack بلا ownership واضح.
أخطاء شائعة
- التنقل من عدة أماكن مع اختلاف تفسير auth state.
- اعتبار declarative مجرد API مختلفة لـpush وpop.
أسئلة متابعة
- ما الذي يجب أن يحدث عند فتح deep link مباشرة؟
- كيف تستخدم go_router للتنقل التصريحي وحماية المسارات (redirect) والروابط العميقة؟