2016-05-08 5 views
10

मैं कैसे redux का उपयोग करें और स्पा के लिए रूटर प्रतिक्रिया करने के लिए पता है। आश्चर्य है कि सर्वर साइड फ्रेमवर्क जैसे स्प्रिंग एमवीसी, जेएसपी, आदि के साथ अधिक पारंपरिक मल्टीपाज वेब अनुप्रयोगों में रेडक्स का उपयोग कैसे करेंमल्टी पेज वेबसाइट में रेडक्स का उपयोग कैसे करें?

क्या एकाधिक पृष्ठ एक ही स्टोर साझा कर सकते हैं? सर्वर साइड प्रतिपादन के लिए प्रलेखन से, प्रत्येक पृष्ठ सर्वर भेजता है एक नई दुकान की जरूरत है।

+0

मैंने कल एक समान प्रश्न पूछा: http://stackoverflow.com/q/37096921/916450। कोई वास्तविक जवाब नहीं (मेरे लिए), अभी तक .. –

+0

kwelch द्वारा सही उत्तर नीचे है। हर पृष्ठ एक नई दुकान उदाहरण की जरूरत है (जो एक ही डेटा के साथ तथापि प्रारंभ किया जा सकता है!) क्योंकि आप, सभी लोड पुस्तकालयों आदि के साथ अपने पूरे जावास्क्रिप्ट क्रम संदर्भ खो (मुझे आशा है कि यह सही शब्द है), जब आप पृष्ठ पुनः लोड। – timotgl

उत्तर

3

यदि आप सर्वर साइड रेंडरिंग (एसएसआर) का उपयोग कर रहे हैं तो क्लाइंट प्रत्येक रेंडर पर एक नया स्टोर बनाया जाएगा। एक दुकान एक initialState साथ बनाया जाता है, तो यह स्थानीय/सत्र संग्रहण या एक पेज के head में प्रदान की गई है और विभिन्न अनुप्रयोगों के बीच राज्य बनाए रखने के लिए दुकान निर्माण के दौरान उपयोग किए थे मार्गों के बीच राज्य धारण करने के लिए संभव है।

+0

एसएसआर = सर्वर साइड प्रतिपादन मुझे लगता है? सुपर स्पष्ट नहीं :) – timotgl

+0

हां, इसके बारे में खेद है कि मैंने जवाब अपडेट किया है। – kwelch

0

यह सुनकर खुशी हुई कि आपने इन दिनों का पालन करने के लिए सब कुछ के लिए एक बड़े एसपीए के साइरेन गीत का विरोध किया है।

क्योंकि आपके पास बहु पृष्ठ हैं, प्रत्येक पृष्ठ को 1 स्वतंत्र प्रतिक्रिया ऐप के रूप में माना जाता है, इसलिए प्रत्येक को 1 Redux स्टोर की आवश्यकता होती है। हालांकि, अगर आप एप्लिकेशन के कई पन्नों में, केवल jQuery या शुद्ध React पर्याप्त हो सकता है। तो मेरा जवाब बस सरल है: का उपयोग उन पृष्ठों पर करें जिनके पास जटिल राज्य प्रबंधन, समृद्ध उपयोगकर्ता इंटरैक्शन और कोड रखरखाव की उच्च मांग है।

Redux दुकान के बारे में, आप पृष्ठों पर एक साझा की दुकान की जरूरत नहीं के रूप में आप बहुत अच्छे पुराने एक है कि दशकों के लिए इंटरनेट ड्राइव है पहले से ही किया है है: सर्वर सत्र। पृष्ठों को प्रस्तुत किए जाने पर हर बार इस साझा मूल्य को windows.__INITIAL_STATE__ पर पॉप्युलेट करें। cookie, local storage ... हैं कुछ विकल्प लेकिन मुझे नहीं लगता कि वे वास्तव में आवश्यक हैं।

+0

मैं इसे अच्छा विभिन्न पृष्ठों पर एक अलग दृश्यपटल ढेर सेवा करने के लिए सलाह है नहीं लगता है (ए प्रतिक्रिया में कार्य करता है redux jQuery पेज के रूप में, है, और, पेज बी केवल प्रतिक्रिया, आदि में कार्य करता है)। ब्राउज़र जेएस बंडल को उत्पादन में कैश करता है और यह पृष्ठों के बीच अंतर करने के लिए जटिलता की एक अनावश्यक परत जोड़ता है। जब तक हम वास्तव में अलग-अलग पृष्ठों पर अलग-अलग * एप्लिकेशन * के बारे में बात नहीं कर रहे हैं। – timotgl

+0

दोस्त, हम अलग-अलग पेज के बारे में बात कर रहे हैं इसलिए एसपीए के बारे में कहने की जरूरत नहीं है क्योंकि हर कोई इसके बारे में पहले ही जानता था। मुझे अभी भी विश्वास है कि आप अभी भी सरल पृष्ठों पर 'jQuery' या यहां तक ​​कि 'vanillajs' भी कर सकते हैं। सही जगहों पर सही उपकरण का प्रयोग करें। सब कुछ के लिए 'प्रतिक्रिया' का उपयोग बंद करो! – haotang

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