एक Redux शुरुआत, यह देखते हुए (के विचार) एक कुछ बड़े आवेदन मैं के लिए इसी तरह एक रूट कम करने की कल्पना के रूप में: इस मामले मेंआप Redux 'राज्य को कैसे साफ करते हैं?
const rootReducer = combineReducers({ accounting, crm, sales })
एप्लीकेशन स्टेट लेखांकन, CRM होंगे, और वह बिक्री उपयोगकर्ता है, भले ही केवल आवेदन के एक हिस्से का उपयोग कर। यह फायदेमंद हो सकता है, उदाहरण के लिए लेखांकन और सीआरएम के बीच आगे और पीछे स्विच करते समय कैश के रूप में, लेकिन संभवतः आप कभी भी खोले गए सभी विचारों के सभी डेटा को बरकरार रखना नहीं चाहते हैं, यह बिना किसी छंटनी के पूर्ण संभव राज्य पेड़ है, आवेदन के भीतर हमेशा के लिए या पूरे पेड़ को लोड पर प्रारंभिक स्थिति में शुरू करना।
क्या वहां ऐसे मुहावरे, पैटर्न या पुस्तकालय हैं जो इसे हल करते हैं या क्या मुझे कुछ याद आ रहा है?
एक आंशिक समाधान है जो सभी डेटा को बनाए रखना हल मैं उनकी आरंभिक स्थिति में राज्य के कुछ हिस्सों को रीसेट जब आवेदन के कुछ भागों से बाहर नेविगेट करने जैसे कुछ कथात्मक नियम दिए की तरह कुछ कल्पना के रूप में:
accounting = {}
सेट (परोक्ष रूप से, इस तरह के रूपACCOUNTING_LEAVING
एक कार्रवाई के माध्यम से) जब<Accounting/>
प्राप्त करताcomponentWillUnmount
- हटाने/
crm.mail = {}
सेट जब<MailEditor/>
प्राप्त करताcomponentWillUnmount
मैंने ऐसे उदाहरण नहीं देखे हैं जो किसी भी तरह से राज्य को साफ करते हैं। कई "सूची + विस्तार दृश्य" उदाहरण { list: [...], detail: {...} }
जैसे राज्य संग्रह करते हैं, लेकिन विस्तार से स्विच करते समय सूची न तो खाली होती है, न ही हटा दी जाती है, न ही हटा दी जाती है। यह अच्छा है जब मैं कुछ पलों बाद सूची में वापस आ सकता हूं, लेकिन डेटा जारी किए बिना 9 से 5 तक एप्लिकेशन का उपयोग करते समय नहीं।
(अन्य) सहायक सूची, लगभग तुरंत मुझे प्रतिक्रिया-UI में ले जाती है, जो एक समान फैशन (घटक WillUnmount पर) को हटाने के लिए प्रतीत होता है; मैं कुछ पुस्तकालयों की जांच करूंगा (या जोड़ ...) मेरे उपयोग के मामलों के लिए उपयुक्त है। रेड्यूसर और राज्य के प्रबंधन के लिए घटक-आधारित दृष्टिकोण वहां कई अलग-अलग तरीकों से हल हो जाता है (कम से कम जितना विचार हो सकता है कि राज्य क्या होना चाहिए)। –
रुको, आप मुझे बता रहे हैं कि विभिन्न डेवलपर्स के पास अलग-अलग विचार हैं कि चीजें कैसे करें? मैं चौंक गया हूँ, _shocked_!:) – markerikson
मैं सिर्फ रेडक्स की जांच की प्रक्रिया में हूं और इससे बहुत उलझन में हूं। यह मेरे लिए तार्किक लगता है कि एक बड़े, बहु-दृश्य अनुप्रयोग में, आप आम तौर पर _don_t_ को ब्राउज़र में जारी रखना चाहते हैं _after_ उपयोगकर्ता ने "पृष्ठ" छोड़ा है। घटकों में राज्य भंडारण का मतलब है कि आपको इस बारे में चिंता करने की ज़रूरत नहीं है - राज्य को घटक के साथ नष्ट कर दिया गया है - लेकिन इसे रेडक्स स्टोर में डालने के लिए अपने जीवन चक्र को स्पष्ट रूप से प्रबंधित करने के मामले में एक महत्वपूर्ण ओवरहेड की आवश्यकता होती है। इससे मुझे रेडक्स और _towards_ से राज्य प्रबंधन के लिए एक घटक-आधारित दृष्टिकोण से बहुत भारी _away_ दुबला बना दिया जाता है। मैं क्या खो रहा हूँ? –