تكرار السؤال: …
الإجابة المختصرة
انقل state إلى أقرب parent مشترك يحتاج قراءتها أو تعديلها، ثم مرّر القيمة وcallbacks إلى children.
الشرح
الـparent يصبح مصدر الحقيقة الواحد، وchildren تعرض البيانات أو تطلب تغييرها عبر callback. ارفع state تدريجيًا؛ رفعها إلى أعلى التطبيق من البداية يزيد التمرير والاقتران.
مثال بالكود
class Parent extends StatefulWidget {
const Parent({super.key});
@override State<Parent> createState() => _ParentState();
}
class _ParentState extends State<Parent> {
int count = 0;
@override Widget build(BuildContext context) => Child(
value: count,
onChanged: (value) => setState(() => count = value),
);
}أخطاء شائعة
- امتلاك نفس state في child وparent معًا.
- تمرير callbackات كثيرة بدل تحديد owner واحد.