ساحة التجربة

غيّر المدخلات. وشاهد كيف يستجيب restate.

سبع تجارب تشغّل الحزمة الحقيقية. المتحكم على اليسار يخص هذا الموقع؛ أما المثال على اليمين فلا يتلقى إلا props، لذا فشيفرته هي بالضبط ما ستكتبه أنت.

المتحكم — للموقع فقطprops — الجسرالمثال — الشيفرة التي تنسخها
01

شاشتان ومخزن واحد

تحتاج عدة مكوّنات إلى القيمة نفسها. عرّفها مرة واحدة واقرأها في أي مكان.

ما الذي تراقبه
  • اضغط زر الخطوة: يعرض كل القرّاء الرقم الجديد في اللحظة نفسها.
  • غيّر عدد القرّاء: يبدأ القارئ الجديد من القيمة الحالية.

جارٍ تجهيز المثال…

البداية
02

اعرض ما تغيّر فقط

لا ينبغي لمخزن كبير أن يعيد عرض كل مكوّن عند كل تعديل.

ما الذي تراقبه
  • عدّل البطاقة: لا تُعرض إلا بطاقة المخزن الكامل.
  • أضف منتجًا: تُعرض المنتجات والملخص؛ وتبقى بطاقة القسيمة ثابتة.
  • أوقف shallow: يُعرض الملخص عند كل تعديل، لأن selector الخاص به يعيد كائنًا جديدًا في كل مرة.

جارٍ تجهيز المثال…

اشترك فقط فيما تحتاجه
03

تغييرات كثيرة، إشعار واحد

تحديث مخزنين واحدًا تلو الآخر يتيح لمشترك أن يرى حالة نصف مكتملة.

ما الذي تراقبه
  • أفرغ كلًا على حدة: يرى المشترك 0 منتجات مع القسيمة القديمة.
  • أفرغ عبر batch: يعمل المشترك مرة واحدة، بعد أن يتغيّر المخزنان كلاهما.

جارٍ تجهيز المثال…

اشترك فقط فيما تحتاجه
04

احفظ حين تقرّر

التعديل يغيّر الذاكرة. والحفظ إجراء صريح، والحالة تُظهر ما يجري.

ما الذي تراقبه
  • اكتب: يتفعّل dirty ولا يُكتب شيء بعد.
  • ارفع زمن الاستجابة واحفظ: يعرض operation القيمة save أثناء الكتابة.
  • أعد التشغيل: تُستعاد المسودة المحفوظة من IndexedDB.

جارٍ تجهيز المثال…

احفظ حين تقرّر
05

اكتب بسرعة، واكتب مرة واحدة

الحفظ عند كل ضغطة مفتاح يُغرق التخزين. ينتظر autoSave توقّفًا.

ما الذي تراقبه
  • اكتب جملة: ترتفع التعديلات بسرعة، بينما تزيد الكتابات بواحدة بعد كل توقّف.
  • اختر «عند كل تعديل»: كل تعديل يُكتب، لكن العودة إلى القيمة المحفوظة لا تكتب شيئًا.

جارٍ تجهيز المثال…

احفظ حين تقرّر
06

مختبر الأعطال

اجعل التخزين بطيئًا أو معطّلًا أو غير متاح، وشاهد restate يحافظ على بياناتك ويُبلغ عن المشكلة.

ما الذي تراقبه
  • ارفع زمن الاستجابة واحفظ ثلاث مرات: تتشارك الطلبات كتابة واحدة، فيبقى pending عند 1 وتصل النتائج الثلاث معًا.
  • فعّل فشل الكتابات واحفظ: يبقى dirty على true ويعرض error السبب.
  • اجعل التخزين غير متاح: يُرفض الحفظ بـ STORAGE_UNAVAILABLE بينما يواصل التعديل عمله.

جارٍ تجهيز المثال…

موثوقية by design
07

حالة لكل مستند

يحتاج كل مستند مفتوح إلى حالته الخاصة، وتُحرَّر عند إغلاق المستند.

ما الذي تراقبه
  • اكتب في المستند A ثم في B: يحتفظ كل منهما بنصه.
  • أغلق المستند A وأعد فتحه: يبدأ فارغًا، لأن نطاقه أُتلف.

جارٍ تجهيز المثال…

حالة يملكها مكوّن

البحث في التوثيق

ابحث في عناوين جميع الأدلة وأوصافها ونصوصها.