2016-08-09 8 views
6

मैं रेडक्स के साथ रेक्टजेज़ का उपयोग कर रहा हूं और कुछ ट्यूटोरियल्स और कोडों पर मैं लोगों को पर सामान्यizr का उपयोग करने और उपयोग करने के लिए देखता हूं, राज्य को रखें। लेकिन इसे फ्लैट रखने में वास्तविक लाभ क्या है? अगर मैं नहीं करता तो क्या मुझे कोई समस्या आती है? क्या ये ज़रूरी हैं ?मुझे राज्य को फ्लैट क्यों रखना चाहिए

उत्तर

6

तीन मुख्य कारण हैं:

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

आपके महान उत्तर के लिए बहुत बहुत धन्यवाद। यह पूरी तरह से मुझे आश्वस्त किया और मुझे इसे बेहतर समझने में मदद की :) –

6

मुझे लगता है कि इसे सपाट रखकर, आप का मतलब है कि आप अपने राज्य वस्तु में घोंसले नहीं कर रहे हैं।
सलाह नहीं दी जाती है कि आप अपने राज्य में घोंसले रखें क्योंकि आपको कुछ घटनाओं के अनुसार अपना राज्य बदलना है।
यदि आप रेडक्स दस्तावेज़ीकरण को देखते हैं, तो वे चाहते हैं कि आप शुद्ध reducers प्राप्त करें। और आपके कार्य को शुद्ध करने का हिस्सा यह तर्कों को संशोधित नहीं कर रहा है।
जब आपके पास बहुत घोंसले होते हैं तो बिना किसी स्थिति में राज्य वस्तु को संशोधित किए बिना राज्य को बदलना मुश्किल होता है क्योंकि सभी जेएस ऑब्जेक्ट संदर्भ द्वारा पारित होते हैं। जब आपके पास बहुत घोंसले होते हैं तो आपको इसे संशोधित करने से पहले राज्य वस्तु की गहरी प्रतियां बनाना पड़ता है।

+0

बहुत बहुत धन्यवाद! अब मैं कल्पना नहीं कर सकता कि मेरे राज्यों को झुकाव न करें :) –

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