2016-08-22 14 views
8

मैं अपने आईओएस ऐप में निम्नलिखित Modal घटक ओवरले कर रहा हूं, जबकि कई एसिंक अनुरोध वापस आने के लिए प्रतीक्षा कर रहा हूं।प्रतिक्रिया मूल मॉडल बंद नहीं

<Modal transparent={true} visible={this.state.visible}> 
    <View style={{flex: 1}}> 
     <ActivityIndicator color="white" size="large"/> 
    </View> 
</Modal> 

यह .state.visible सभी अनुरोध लौटने के बाद झूठी पर सेट हो गया है। हालांकि, अनुरोधों के वापस आने के बाद भी लगभग 50% स्क्रीन पर मोडल अनिश्चित काल तक रहता है। मैंने अपने रेंडर फ़ंक्शन के शीर्ष पर यह .state.visible लॉग किया है और यह अपेक्षित के रूप में गलत है, फिर भी मोडल गायब नहीं होता है। ऐसा कोई विचार क्यों हो रहा है कि यह क्यों हो रहा है?

+0

क्या आपको कोई समाधान मिला है? ऐसा लगता है कि समस्या अभी भी मौजूद है –

+0

क्या आपको कोई समाधान मिला है? –

+1

क्या आप फ़ाइल का पूरा कोड पोस्ट कर सकते हैं? –

उत्तर

1

शायद यह वही समस्या थी जिसका मैं सामना कर रहा हूं।

मैं जब एक मॉडल को बंद करने और एक अन्य खोलने इस समस्या को मिलता है, कुछ लोगों को एक मॉडल और एक चेतावनी के साथ इस रही है ...

https://github.com/facebook/react-native/issues/10471

अभी के लिए, समाधान कार्रवाई से पहले एक समय समाप्ति है (600ms इसे हल करना चाहिए)।

+0

में सेटस्टेट एक कोड उदाहरण जोड़ना बहुत अच्छा होगा ;-) – Fabien

+0

ऐसा कुछ है जो कई अलग-अलग स्थितियों में बदलने की संभावना है। मेरे मामले में, 'रेडक्स-सागा' का उपयोग करके मैंने मोडल दृश्यता को बदलने वाली क्रिया से पहले उपज देरी (600) 'सेट की है। यदि आप केवल 'राज्य' सेट कर रहे हैं तो आप 'setTimeout (() => this.setState ({visible: true}), 600) जैसे कुछ कर सकते हैं। लेकिन मैं ईमानदारी से सोचता हूं कि आपको सामान्य रूप से अपना कोड देखना चाहिए, शायद एक बेहतर तरीका है। –

संबंधित मुद्दे