React-native-router-flux: كيفية استخدام الوسائط

تم إنشاؤها على ٣ أغسطس ٢٠١٧  ·  16تعليقات  ·  مصدر: aksonov/react-native-router-flux

الإصدار

  • رد فعل - جهاز التوجيه الأصلي - تدفق v4b15.0
  • رد فعل أصلي v46.3.1

أنا أكافح حقًا مع النماذج نظرًا لعدم وجود وثائق عليها ولا يحتوي المثال على تعليقات أو إشارة إلى كيفية عرض بعض المشاهد بشكل نمطي والبعض الآخر ليس كذلك. هذا هو الكود الخاص بي.

<Router>
  <Scene key="root" hideNavBar hideTabBar>
    <Scene key="tabBar" tabs>
      <Scene key="listings" component={Listings} title="Listings" initial right={MapButton} />
      <Scene key="favorites" component={Favorites} title="Favorites" />
      <Scene key="messages" component={Messages} title="Messages" />
      <Scene key="profile" component={Profile} title="Profile" />
    </Scene>
    <Scene key="modal" modal>
      <Scene key="map" component={Map} title="Map" hideNavBar />
    </Scene>
    <Scene key="listingDetail" component={ListingDetail} title="Listing Detail" clone />
  </Scene>
</Router>;

أحاول عرض مكون الخريطة بشكل نمطي.

MapButton هو التالي:

const MapButton = () =>
  <TouchableWithoutFeedback onPress={Actions.map}>
    <Text>Map</Text>
  </TouchableWithoutFeedback>;

لا بد لي من استخدام هذا لأن rightText عربات التي تجرها الدواب للغاية ولن يعرض نصف الوقت.

التعليق الأكثر فائدة

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

ال 16 كومينتر

حاول وضع مشهد root داخل النموذج.
مثله:

<Router>
    <Scene key="modal" modal>
       <Scene key="root" hideNavBar hideTabBar>
            <Scene key="tabBar" tabs>
              <Scene key="listings" component={Listings} title="Listings" initial right={MapButton} />
              <Scene key="favorites" component={Favorites} title="Favorites" />
              <Scene key="messages" component={Messages} title="Messages" />
              <Scene key="profile" component={Profile} title="Profile" />
            </Scene>
        </Scene>
        <Scene key="map" component={Map} title="Map" hideNavBar />

يجب أن تجعل مشهد الجذر كما هو modal مثلما اقترح luco . يرجى التحقق من مثال المشروع ، تم تنفيذ تسجيل الدخول كنموذج

هذا لا يزال لا يعمل.

<Router>
    <Scene key="modal" modal>
      <Scene key="root" hideNavBar hideTabBar>
        <Scene key="tabBar" tabs>
          <Scene key="listings" component={Listings} title="Listings" initial right={MapButton} />
          <Scene key="favorites" component={Favorites} title="Favorites" />
          <Scene key="messages" component={Messages} title="Messages" />
          <Scene key="profile" component={Profile} title="Profile" />
        </Scene>
        <Scene key="map" component={Map} title="Map" hideNavBar />
        <Scene key="listingDetail" component={ListingDetail} title="Listing Detail" clone />
      </Scene>
    </Scene>
  </Router>

ليس من المنطقي بالنسبة لي أن التفاف كل شيء في المشهد المشروط من شأنه أن يجعل مشهدًا محددًا مشروطًا عندما لا أرغب في أن يكون الباقي (مثل قائمة التفاصيل) مشروطًا. هل هناك متغير محدد في Actions.map أحتاج إلى استخدامه؟

لسوء الحظ ، إنها مشكلة التنقل التفاعلي - فهي لا تدعم الرسوم المتحركة المختلفة لأطفال المكدس. لا يمكنني إعادة إنتاج مشكلتك (يبدو الرمز جيدًا) ، وهذا هو السبب في أنني أطلب من الجميع تفكيك مثال الريبو هذا وتعديله إذا كانوا يريدون حل مشكلاتهم. نموذج تسجيل الدخول من المثال يعمل بشكل جيد كما ترى

إذن هل تقول أنه لا توجد طريقة لدعم الانتقال المشروط إلى iOS؟ أي واحد ينزلق من الأسفل؟

ماذا تعني؟ لقد قلت لك مرتين أن المثال يحتوي على شاشة تسجيل دخول مشروطة (تنزلق من الأسفل)

حسنًا ، لكنك قلت أيضًا إن الكود الخاص بي يبدو جيدًا ....

لقد بذلت قصارى جهدي لاتباع المثال ولكن نظرًا لعدم وجود وثائق ، لا يمكنني معرفة سبب وجود كل شيء. لا يمكنني نسخ هذا الرمز ولصقه لأنه من الواضح أن مساراتي مختلفة.

نفس الشيء يمكن أن أخبرك به عن الكود الخاص بك - لا أرى المشروع بالكامل وجميع التفاصيل. على سبيل المثال ، يمكنك استخدام Actions.map وقد لا يتم إنشاؤه (ويكون فارغًا) أثناء التجميع.

يسعدني تقديم المزيد من نماذج التعليمات البرمجية إذا سمحت لي بمعرفة ما تحتاجه. Actions.map يعمل ، إنه ينتقل فقط من الجانب الداخلي لما أتوقع أن يكون من الأسفل.

هل تقول أنه لا يمكنك إجراء انتقالات push و modal في نفس التطبيق؟

يا إلهي. ليس في التطبيق ، ولكن في حاوية واحدة. بعد إلقاء نظرة أكثر عمقًا على التعليمات البرمجية الخاصة بك بها خطأ - لا تزال "الخريطة" تابعة للحاوية "العادية" (المفتاح = الجذر) ، وليست مشروطة (المفتاح = "مشروط"). يبدو أنك لا تفهم ما تفعله. ربما يكون هذا المكون معقدًا جدًا بالنسبة لك ...

جرب هذا:

<Router>
    <Scene key="modal" modal>
      <Scene key="root" hideNavBar hideTabBar>
        <Scene key="tabBar" tabs>
          <Scene key="listings" component={Listings} title="Listings" initial right={MapButton} />
          <Scene key="favorites" component={Favorites} title="Favorites" />
          <Scene key="messages" component={Messages} title="Messages" />
          <Scene key="profile" component={Profile} title="Profile" />
        </Scene>
      </Scene>
        <Scene key="map" component={Map} title="Map" hideNavBar />
        <Scene key="listingDetail" component={ListingDetail} title="Listing Detail" clone />
    </Scene>
  </Router>

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

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

مرحبا،

عملت من أجلي

<Router navigationBarStyle={{backgroundColor: '#FF5722'}} titleStyle={{color: '#fff'}}>
        <Modal>
            <Stack key="root">
                <Scene key='login_screen' component={LoginScreen} title='login' hideNavBar={true} />
            </Stack>
            <Scene key='cadastro_screen' component={CadastroScreen} title='Cadastro' hideNavBar={false} />
        </Modal>
</Router>

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

استخدم <Modal hideNavBar> لأن <Modal> سيضيف شريط التنقل الخاص به بحيث ينتهي بك الأمر بالحصول على اثنين مع واحد من مشهد الجذر الخاص بك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

YouYII picture YouYII  ·  3تعليقات

fgrs picture fgrs  ·  3تعليقات

rafaelcorreiapoli picture rafaelcorreiapoli  ·  3تعليقات

basdvries picture basdvries  ·  3تعليقات

tonypeng picture tonypeng  ·  3تعليقات