إنتقل إلى المحتوى الرئيسي

استخدام مكوّن في تطبيق آخر

الهدف​

رسمت بطاقة في تطبيق «المنتجات»، وتريد البطاقة نفسها في «الطلبات» — البطاقة ذاتها، حتى يصلح التعديل في مكان واحد كليهما.

هناك إعداد واحد، مرة لكل تطبيق: على التطبيق الذي يرسم المكوّنات، علّم «مشاركة مكوّنات هذا التطبيق». عندئذ يُعرض كل ما يرسمه على كل تطبيق آخر في البيئة، في لوحة المكوّنات لديه تحت من تطبيقات أخرى.

والخيار مطفأ افتراضيًا، وهذا مقصود: معظم التطبيقات ليست مكتبات مكوّنات، والتطبيق الذي يشارك دون قصد يضع أشكاله نصف المرسومة في لوحة الجميع. تجده في تطبيقات الاستوديو ← جديد، أو بتحديد تطبيق والضغط على تحرير؛ وفي القائمة عمود يبيّن أي التطبيقات تشارك.

كان لهذا خطوة إضافية، ولم يعد

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

اصنع واحدًا​

ارسم الجزء على لوح تطبيقك — بجوار الشاشة أو عليها — تمامًا كما ترسم أي شيء آخر. ثم الخطوة المهمة:

حدّد ما رسمته واختر «إنشاء مكوّن».

يأخذ المكوّن اسم الكائن الذي صنعته منه، وهذا الاسم هو ما تراه التطبيقات الأخرى. غيّر اسم الطبقة يتغيّر اسم المكوّن معه. احفظ.

هذا كل ما في صنع واحد. صار الآن في لوحة كل تطبيق آخر.

ضعه في تطبيق آخر​

افتح مصمّم التطبيق الآخر وانظر إلى لوحة المكوّنات. تحت من تطبيقات أخرى تجد كل مكوّن رسمته تطبيقات الحلّ الأخرى، ومع كلٍّ منها اسم التطبيق الذي جاء منه — فقد يكون لدى تطبيقين كليهما «بطاقة»، وقائمة تعرض الاسم نفسه مرتين قائمة لا يمكن الاختيار منها.

اسحب واحدًا إلى اللوح، أو حدّد الصف واضغط Enter. ما يهبط هو نسخة: نسخة مكوّن عادية، تحرّكها وتغيّر حجمها وتتجاوز خصائصها تمامًا كما لو رسمتها بنفسك.

احفظ.

غيّره مرة واحدة​

افتح التطبيق الذي رسم المكوّن، وغيّره، واحفظ.

ثم افتح التطبيق الذي وضعه. يخبرك أن النسخة حُدّثت، والتغيير موجود. احفظ ذلك التطبيق ليبقى. هذا الحفظ الثاني مقصود: الكتابة في رسم أحدهم لمجرّد أنه فتحه ليست ممّا يحقّ لمصمّم أن يفعله.

لماذا يحتفظ تطبيقك بنسخة​

افتح مستند التطبيق الواضع تجد عُقد المكوّن فيه، بمعرّفات تبدأ بـ sc_، ومعها تعريف يحمل التطبيق الذي جاء منه واسمه هناك ورقم مراجعته.

تلك النسخة ليست خطأً، وأنت لا تصونها أبدًا. إنها تشتري أمرين:

  • تطبيقك مكتفٍ بذاته. يُتحقّق منه ويُحزم ويُستورد ويُصرَّف وحده. والمكوّن الذي لم ينتقل يترك تطبيقًا متأخّرًا، لا تطبيقًا لا يُعرض.
  • ما شُحن هو ما يُعرض. وهذا ما لا يستطيع تطبيق يجلب مكوّناته عند فتحه أن يعد به.

نسخة الأصل تجلس يسار رسمك على «رفّ»، ولا تظهر على شاشة أبدًا: فهي تعريف لا محتوى. ولا يُعرض سوى النسخ التي وضعتها.

إيقاف المشاركة​

أزل العلامة فتتوقّف مكوّنات ذلك التطبيق عن العرض. أما التطبيقات التي وضعت واحدًا من قبل فتحتفظ به: تبقى نسختها المرتبطة كما هي تمامًا، مجمّدة عند المراجعة التي نسختها. وهو ما يحدث حين يُلغى تثبيت تطبيق، وللسبب نفسه — لا ينبغي أن يفقد تطبيق جزءًا من شاشته لأن أحدًا آخر غيّر إعدادًا.

وما تفقده تلك التطبيقات هو التحديثات: لم يعد شيء يقدّم نسختها، لأن اللوحة لم يبق لديها ما تقارنها به.

المكوّن الوحيد الذي لا يمكنك استخدامه في مكان آخر​

المكوّن الذي يقرأ حالة شاشة تطبيقه. صفّه موجود في لوحة التطبيق الآخر، باهتًا، ويسمّي التعبير — مثلًا state.showCard.

وليست قاعدة اعتباطية. فمكوّنك سيهبط على شاشات لا حقل حالة فيها بهذا الاسم، فيصير التعبير اعتمادًا على شيء قد لا يوجد، ويفشل في أي شاشة يغيب عنها. اعرض ما يحتاجه خاصيةً بدل ذلك، ويملؤها التطبيق الواضع — انظر إعادة استخدام تصميم بالمكوّنات.

وداخل التطبيق الذي رسمه يعمل المكوّن نفسه كما كان دائمًا. القيد يخصّ عبور الحدّ، ويُشعر به مرة واحدة بالضبط، حيث يمكن تفسيره.

حذفه​

احذف المكوّن على لوح التطبيق الذي رسمه، واضغط حفظ.

إن كانت تطبيقات أخرى تضعه، تُسأل أولًا، والسؤال يسمّيها. فحذفه يزيله من تلك التطبيقات أيضًا — وإلا بقيت ترسم بطاقة لا يستطيع أحد فتحها: فاللوحة لن تعرضها ثانية، ولا مصمّم يصل إليها.

والإلغاء لا يكتب شيئًا في الجهتين. ويبقى لوحك كما هو تمامًا، بالحذف وكل شيء، فطريق العودة هو التراجع.

جرّبه​

استورد عيّنة studio-shared-components. فيها تطبيقان: «المنتجات» التي ترسم بطاقة إحصاء، و«الطلبات» التي تضعها. غيّر البطاقة في المنتجات، واحفظ، وافتح الطلبات.

ذات صلة​