Redux का उपयोग करते समय क्या आपको कभी भी इस .setState () का उपयोग करना चाहिए?


111

this.setState()Redux का उपयोग करते समय क्या आपको कभी भी उपयोग करना चाहिए ? या क्या आपको हमेशा कार्रवाई को छोड़कर प्रॉप्स पर भरोसा करना चाहिए?


1
राज्य के साथ कुछ घटक होने में कुछ भी गलत नहीं है।
झटके

3
यह पूरी तरह से इस बात पर निर्भर करता है कि राज्य का उपयोग कहां किया जा रहा है। Redux स्टोर्स को ग्लोबल होने के बारे में सोचें। जो कुछ भी वैश्विक होने की आवश्यकता नहीं है वह एक घटक और उसके बच्चों के लिए निजी रह सकता है।
अज़ीम

जवाबों:


139

setStateयूआई घटकों के लिए स्पष्ट उपयोग उन स्थानीय घटकों के लिए होगा जिनके पास स्थानीय प्रदर्शन स्थिति है, लेकिन वैश्विक अनुप्रयोग के लिए प्रासंगिक नहीं हैं। उदाहरण के लिए एक बूलियन जो यह दर्शाता है कि एक विशिष्ट ड्रॉपडाउन मेनू सक्रिय रूप से प्रदर्शित होता है, उसे वैश्विक स्थिति में होने की आवश्यकता नहीं है, इसलिए यह मेनू घटक के राज्य द्वारा अधिक आसानी से नियंत्रित किया जाता है।

अन्य उदाहरणों में एक पदानुक्रम के अनुरूप प्रदर्शन में लाइनों के पतन / विस्तार की स्थिति शामिल हो सकती है। या संभवतः टैब नेविगेशन में वर्तमान में चयनित टैब। हालाँकि इन दोनों उदाहरणों में आप अभी भी विश्व स्तर पर UI स्थिति को संभालना चुन सकते हैं। उदाहरण के लिए यह आवश्यक होगा यदि आप ब्राउज़र भंडारण में विस्तार / पतन की स्थिति को बनाए रखना चाहते थे ताकि इसे पृष्ठ ताज़ा करके संरक्षित किया जा सके।

व्यवहार में आमतौर पर ऐसे यूआई तत्वों को स्थानीय राज्य के साथ लागू करना सबसे आसान होता है, और आवश्यकतानुसार उन्हें वैश्विक स्थिति में फिर से तैयार करना।


23
इसके साथ पालन करने के लिए, प्रासंगिक Redux FAQ प्रविष्टि इस बात पर जोर देती है कि इसका उपयोग setStateपूरी तरह से ठीक है : redux.js.org/docs/faq/…
modikson

2
आप handoff या उपयोग सर्वर साइड प्रतिपादन करने के लिए जा रहे हैं, मुझे लगता है कि आप हमेशा Redux का उपयोग करना चाहिए
neaumusic

Redux FAQ लिंक को redux.js.org/faq/organizing-state
AnandShanbhag
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.