मैं रेडक्स के राज्य के पेड़ में क्या रखना है, इस पर थोड़ा सा खो गया हूं।क्या डेटा को रेडक्स राज्य पेड़ में जाना चाहिए?
मैंने राज्य के वृक्षों में स्टोर करने के लिए दो विवादित बयान देखा।
- React doc हमें बताते हैं कि केवल उपयोगकर्ता इनपुट राज्य पेड़ों में संग्रहित किया जाना चाहिए।
मूल सूची उत्पादों की रंगमंच की सामग्री के रूप में में पारित हो जाता है, तो कि राज्य नहीं है। खोज टेक्स्ट और चेकबॉक्स राज्य के रूप में बदलते हैं क्योंकि वे समय के साथ बदलते हैं और किसी भी चीज़ से गणना नहीं की जा सकती हैं। और अंत में, उत्पादों की फ़िल्टर की गई सूची राज्य नहीं है क्योंकि इसकी खोज टेक्स्ट और चेकबॉक्स के मूल्य के साथ उत्पादों की मूल सूची को संयोजित करके गणना की जा सकती है।
- Redux doc हमें बताता है कि हम अक्सर संग्रहीत करना चाहिए यूआई राज्य और डेटा एक राज्य वृक्ष में:
हमारे कार्यसूची एप्लिकेशन के लिए, हम दो अलग बातें संग्रहीत करना चाहते हैं:
- वर्तमान में चयनित दृश्यता फ़िल्टर;
- टोडोस की वास्तविक सूची।
आपको अक्सर पता चलेगा कि आपको राज्य के पेड़ में कुछ डेटा, साथ ही कुछ यूआई स्टेट ** स्टोर करने की आवश्यकता है। यह ठीक है, लेकिन यूआई राज्य से डेटा को अलग रखने की कोशिश करें।
तो प्रतिक्रिया बताती है कि हमें डेटा स्टोर नहीं करना चाहिए (मैं टोडोस के डेटा के बारे में बात कर रहा हूं) और, मेरे लिए, रेडक्स विपरीत बताता है।
में मेरी क्योंकि दोनों प्रतिक्रिया मैं प्रतिक्रिया की ओर जाते हैं समझते हैं और Redux भंडारण के द्वारा एक यूआई राज्य की भविष्यवाणी करने के उद्देश्य:
सब क्या नहीं की जा सकती (जैसे: सभी मानव आदानों) और
- चेकबॉक्स मूल्य
- इनपुट मूल्य
- रेडियो मूल्य
- : यूआई का हिस्सा हैं ...
सभी न्यूनतम डेटा है कि एक प्रश्न का निर्माण और एपीआई/डेटाबेस है कि पूरा उपयोगकर्ता प्रोफ़ाइल वापस आ जाएगी, दोस्तों की सूची, जो कुछ भी करने के लिए इसे भेजने के लिए उपयोग हो सकता है ...:
- उपयोगकर्ता आईडी
- निर्माण दिनांकों लेकर
- आइटम आईडी
- ...
मुझे कि सभी डेटाबेस/एपीआई शामिल नहीं के लिए परिणाम है क्योंकि:
- जो डेटा स्तर
- पर दाएं (और शुद्ध reducers द्वारा गणना) क्वेरी भेजकर गणना की जा सकती है।
तो आपकी राय क्या है?
यह बिल्कुल अस्पष्ट है कि आप वास्तव में क्या पूछ रहे हैं। लेकिन अगर आप एक सूची प्रस्तुत कर रहे हैं तो आप वस्तुओं की सरणी को रेडक्स स्टोर कर सकते हैं। वस्तुओं की सूची खाली हो जाएगी लेकिन फिर आप अपने एपीआई को कॉल कर सकते हैं और एपीआई से लौटाई गई सूची के साथ रेडक्स स्टेटस अपडेट कर सकते हैं। – Dylan
यदि आप रेडक्स के बिना प्रतिक्रिया का उपयोग कर रहे थे, तो डेटा को एक या अधिक घटकों में राज्य के रूप में संग्रहीत किया जाएगा। आप उस राज्य को प्रोप के माध्यम से बाल घटकों तक पारित कर सकते हैं। रेडक्स के साथ राज्य एक ही स्थान पर रहता है और प्रोप के रूप में प्रतिक्रिया घटकों को "सब्सक्राइब करना" में पारित किया जाता है। –
@DanielN ने मेरे उत्तर में कुछ नया स्पष्टीकरण जोड़ा। मैं देखता हूं कि रिएक्ट डॉक में वह कथन केवल उस उदाहरण के बारे में था। चूंकि घटक को प्रोप के माध्यम से पहले से ही अपना डेटा प्राप्त हुआ है, यही कारण है कि यह राज्य नहीं है, इसका मतलब यह नहीं है कि यह डेटा किसी अन्य घटक (रूट घटक) की स्थिति में नहीं है –