2016-12-08 3 views
5

दस्तावेज़ों के Redux उदाहरणों में से एक में कनेक्ट फ़ंक्शन को कोई तर्क नहीं कहा जाता है। यह उदाहरण के नीचे देखा जा सकता है।मैप के बिना कनेक्ट फ़ंक्शन को कॉल क्यों करेंस्टेट टोपप्रॉप या मैप डिस्पैचटूप्स के रूप में तर्क?

import React from 'react' 
import { connect } from 'react-redux' 
import { addTodo } from '../actions' 

let AddTodo = ({ dispatch }) => { 
let input 

return (
    <div> 
    <form onSubmit={e => { 
     e.preventDefault() 
     if (!input.value.trim()) { 
     return 
     } 
     dispatch(addTodo(input.value)) 
     input.value = '' 
    }}> 
     <input ref={node => { 
     input = node 
     }} /> 
     <button type="submit"> 
     Add Todo 
     </button> 
    </form> 
    </div> 
) 
} 

AddTodo = connect()(AddTodo) 

export default AddTodo 
मेरी समझ से कनेक्ट समारोह यह कंटेनर घटकों में अच्छी तरह से रंगमंच की सामग्री के रूप में की दुकान से राज्य के लिए उपयोग के रूप में कॉलबैक के रूप में कार्रवाई प्रेषकों को पहुंच देने के लिए करने के उद्देश्य से

इसलिए यह आप क्यों राज्य और कार्रवाई रचनाकारों है कि आप करने के लिए घटक पहुँच प्रदान करना चाहते निर्दिष्ट किए बिना कनेक्ट कहेंगे के रूप में मतलब नहीं है।

+0

'कनेक्ट() (AddTodo)' 'dispatch' एक प्रोप, जो अभी भी भी राज्य या पूर्वनिर्धारित कार्यों – azium

+0

धन्यवाद बिना उपयोगी है के रूप में पारित करेंगे। हम प्रेषण के रूप में प्रेषण क्यों पारित करना चाहते हैं जब हम इसे स्टोर पर एक विधि के रूप में कॉल कर सकते हैं और स्टोर आयात कर सकते हैं? – therewillbecode

+0

ने एक उत्तर बनाया, उम्मीद है कि यह इस – azium

उत्तर

5

connect()(AddTodo)dispatch को एडटोडो घटक के प्रोप के रूप में पास करेगा, जो अभी भी राज्य या पूर्वनिर्धारित कार्यों के बिना भी उपयोगी है।

रेडक्स (और प्रतिक्रिया-रेडक्स) एक बहुत कम स्तर की लाइब्रेरी है। यह आपको इस बात के बारे में बहुत सख्त होने की अनुमति देता है कि किसी घटक के पास किस राज्य और कार्रवाइयों तक पहुंच है, या आप पूरे स्टोर और प्रत्येक कार्य को प्रत्येक घटक, और बीच में सबकुछ पास कर सकते हैं।

यह तय करना कठोरता का स्तर क्या आपके आवेदन के लिए उपयुक्त है आप पर निर्भर है।

क्यों बिल्कुल connect उपयोग करते हैं, आप पूछ सकते हैं? खैर connect केवल संदर्भ संदर्भ के माध्यम से स्टोर/प्रेषण पास करता है ताकि आपको स्टोर को कई घटकों से गुजरना पड़े। का उपयोग करने के लिए आपको नहीं है। कोई मॉड्यूल/एचओसी पैटर्न काम कर सकता है, connect बस उपयोग करने के लिए एक सुविधाजनक चीज होता है।

+0

की आवश्यकता है, तो विवाद अभी तक गुजर रहा है? – DDave

+0

@DDave 'प्रेषण 'रैप किए गए घटक के साथ या बिना तर्क के एक प्रोप के रूप में पारित हो जाता है। क्या आप यही पूछ रहे हैं? – azium

+0

हाँ, वह है, धन्यवाद – stackdave

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