2017-01-21 10 views
7

मैं कुछ समय के लिए @connect एनोटेशन का उपयोग कर रहा हूं और mapStateToProps और mapDispatchToProps पर स्विच करने का निर्णय लेता हूं।mapDispatchToProps का उपयोग क्या होता है जब हम कार्रवाई को प्रेषित करने के लिए इस .props.dispatch का उपयोग कर सकते हैं

मैं mapStateToProps को घटक के प्रोप ठीक करने के लिए स्टोर मैप करने के लिए कर सकता हूं लेकिन सोच रहा हूं कि mapDispatchToProps का बिंदु क्या है जब मैं कहीं भी this.props.dispatch(xxx) पर कॉल कर सकता हूं।

मैं भी कुछ रेपोस प्रतिक्रिया और अगर यह अभी शुरुआत सवाल की तरह लगता है वे भी mapDispatchToProps

क्षमा का प्रयोग नहीं करते देखते हैं।

उत्तर

8

हां, आप निश्चित रूप से एक घटक में props.dispatch() का उपयोग कर सकते हैं। हालांकि, वह घटक अब "जानता है" जो रेडक्स एप्लिकेशन का हिस्सा है, क्योंकि यह स्पष्ट रूप से चीजों को "प्रेषण" करने का प्रयास कर रहा है।

दूसरी ओर, यदि आप लगातार कार्य निर्माता कार्यों का उपयोग करते हैं, तो घटक केवल this.props.doSomeThing() जैसी चीजें कॉल कर रहा है। यह वास्तव में "पता नहीं" है कि यह एक Redux ऐप में है, और परिणामस्वरूप अधिक पुन: प्रयोज्य है।

मैंने अभी When would bindActionCreators be used in react/redux? पर एक समान प्रश्न का उत्तर दिया, और इस विषय पर Idiomatic Redux: Why use action creators? पर एक लंबा ब्लॉग पोस्ट लिखा।

+0

यह उत्तर मुझे अधिक समझ देगा यदि फ़ाइल स्वयं घटक के एक कनेक्टेड संस्करण को निर्यात नहीं कर रही थी। मैंने जो पैटर्न देखा है वह एक फाइल है जो एक घटक घोषित करता है और इसका एक कनेक्टेड संस्करण निर्यात करता है। क्या यह मुख्य उपयोग नहीं है? – aaaaaa

+0

सुनिश्चित नहीं है कि मैं आपका प्रश्न समझता हूं। यदि आप 'mapDispatch' फ़ंक्शन या अन्य तर्क के रूप में एक्शन क्रिएटर के ऑब्जेक्ट में गुजरने के बिना कनेक्ट() 'को जोड़ते हैं, तो आपके घटक को' this.props.dispatch' दिया जाएगा। – markerikson

+0

मैं आपकी टिप्पणी का जवाब दे रहा हूं "घटक अब 'जानता है' यह एक रेडक्स एप्लिकेशन का हिस्सा है"। यदि आप उसी फ़ाइल में घटक को कनेक्ट कर रहे हैं तो घटक घोषित किया गया है, तो मुझे नहीं लगता कि 'mapDispatchToProps' का उपयोग क्यों उपयोगी है। बस अधिक रेडक्स बॉयलरप्लेट की तरह लगता है। – aaaaaa

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

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