2016-03-17 7 views
8

प्रतिक्रिया के साथ हम हमारी वेबसाइट का निर्माण कर रहे/प्रतिक्रिया-रूटर/reduxसर्वर async डेटा के साथ प्रतिपादन ओर लाने

हम अपने पृष्ठों है कि हमारे डेटा स्रोतों से डेटा द्वारा भरा जाना चाहिए प्रस्तुत करना सर्वर साइड करना चाहते हैं। यह लेनदेन असीमित और दुर्भाग्य से होना चाहिए क्योंकि हम सर्वर को प्रस्तुत करना चाहते हैं, हम "घटकडिडमाउंट" फ़ंक्शन का उपयोग नहीं कर सकते हैं।

आप रूटर प्रतिक्रिया की तरह कुछ का उपयोग करते हैं, आप भी स्थिर fetchData रूप अपने डेटा प्राप्त करने में निर्भरता व्यक्त करने के लिए चाहते हो सकता है:

अनुभाग here प्रतिपादन सर्वर साइड पर redux ट्यूटोरियल पेज में, यह करने के लिए सलाह दी गई है() आपके मार्ग हैंडलर घटकों पर विधियां। वे एसिंक क्रियाएं वापस कर सकते हैं, ताकि आपके हैंडलरेंडर फ़ंक्शन मार्ग हैंडलर घटक वर्गों के मार्ग से मेल खा सकता है, उनमें से प्रत्येक के लिए fetchData() प्रेषण परिणाम, और वादे के हल होने के बाद ही प्रस्तुत किया जा सकता है। इस प्रकार विशिष्ट विभिन्न मार्गों के लिए आवश्यक एपीआई कॉल हैंडलर घटक परिभाषाओं के साथ स्थानांतरित होते हैं। पर पृष्ठ को स्विच करने से राउटर को रोकने के लिए आप क्लाइंट पक्ष पर उसी तकनीक का भी उपयोग कर सकते हैं, इसका डेटा लोड हो गया है।

वर्तमान में हम अपने डेटा लाने को कैसे संभालेंगे। मुझे व्यक्तिगत रूप से इस दृष्टिकोण को पसंद नहीं आया यह काफी बेकार दिखता है और यह रूटिंग लाइब्रेरी के साथ भी है। क्या ऐसा करने के लिए कोई बेहतर तरीका है - उम्मीद है कि मानक प्रतिक्रिया/राउटर/रेडक्स घटकों के साथ?

+0

"यह लेनदेन असीमित होना चाहिए" क्यों? – flup

+0

एपीआई से अक्सर डेटा लाने से एसिंक होता है ताकि आप मुख्य धागे को अवरुद्ध न करें, खासकर यदि आप एकाधिक एपीआई से पुनर्प्राप्त कर रहे हैं, तो आप नहीं चाहते कि कोई दूसरे के लिए इंतजार कर सके। –

उत्तर

5

कुछ स्थिर fetchData() विधि की तरह कुछ सामान्य मामले में रिएक्ट राउटर के साथ डेटा लाने के लिए सही तरीका है, हालांकि यह आवश्यकतानुसार बाल घटकों तक पहुंच सकता है (उदाहरण के लिए रिले कैसे काम करता है)।

कारण आप ऐसा करना चाहते हैं कि रिएक्ट राउटर सभी मिलान किए गए मार्गों को एक साथ हल करता है। यह देखते हुए, आप एक साथ अपने सभी रूट हैंडलर के लिए डेटा लाने के लिए चला सकते हैं।

यदि इसके बजाय आप घटकों पर आवृत्ति-स्तर हैंडलरों को डेटा लाने के लिए बाध्य करते हैं, तो आप हमेशा झरने वाले झरने के साथ समाप्त हो जाते हैं, जहां कोई घटक अपने आवश्यक डेटा नहीं प्राप्त कर सकता है जब तक कि उसके सभी माता-पिता को आवश्यक डेटा प्राप्त न हो जाए, और आगे । हालांकि यह सर्वर पर एक बड़ी समस्या नहीं हो सकती है, यह क्लाइंट पर बेहद उपरोक्त है।

यदि आप वास्तव में घटकों पर डेटा निर्भरताओं को संतुलित करना चाहते हैं, तो आप React Resolver जैसे कुछ का उपयोग करने पर विचार कर सकते हैं, लेकिन यह आसानी से आपके उपयोगकर्ताओं के लिए उप-विशिष्ट अनुभव का कारण बन सकता है।

+0

मैं प्रतिक्रिया रिज़ॉल्वर पर एक नज़र डालेगा लेकिन बहुत अच्छी सूचना के लिए धन्यवाद। – ralzaul

+0

रिले क्या है? क्या आपके पास कोई लिंक या संदर्भ है? –

+0

होक का उपयोग करते समय स्थिर fetchData विधियों का उपयोग करना भी संभव है, जैसे 'कनेक्ट'? –

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