मैं एक एपीआई से कुछ डेटा पुनर्प्राप्त करने और इसे अपने आवेदन में पास करने की कोशिश कर रहा हूं। प्रतिक्रिया/रेडक्स के लिए नया होने के बावजूद, मैं सोच रहा हूं कि इन कॉलों को कहां से बनाना है और इसे मेरे आवेदन में कैसे पास करना है? मेरे पास मानक फ़ोल्डर संरचना (घटक, reducers, कंटेनर, आदि) है, लेकिन मुझे यकीन नहीं है कि अब मेरी एपीआई कॉल कहां रखना है।एपीआई कॉल को रिएक्ट/रेडक्स आर्किटेक्चर में कहां रखा जाए?
उत्तर
एजेक्स कॉल जैसे व्यवहार को "साइड इफेक्ट्स" के रूप में जाना जाता है, और आम तौर पर आपके घटकों, "थंक" एक्शन क्रिएटर, या अन्य समान रेडक्स साइड इफेक्ट एडॉन्स जैसे "सगास" में रहते हैं।
अधिक जानकारी के लिए कृपया इस उत्तर को रेडक्स FAQ में देखें: http://redux.js.org/docs/faq/Actions.html#actions-side-effects।
इसके साथ शुरू करने का सबसे आसान तरीका यह है कि redux-thunk
के साथ एक थंक नामक फ़ंक्शन का उपयोग करके इसे अपने कार्यों में शामिल करें।
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers/index';
const store = createStore(
rootReducer,
applyMiddleware(thunk)
);
फिर उस API कॉल अपने कार्यों में एक समारोह बनाने के लिए:: तुम सब करने की ज़रूरत है अपनी दुकान की ओर thunk जोड़ने है। "मछली जवाब देने के लिए एक आदमी को सिखाओ"
export const getData() {
(dispatch) => {
return fetch('/api/data')
.then(response => response.json())
.then(json => dispatch(resolvedGetData(json)))
}
}
export const resolvedGetData(data) {
return {
type: 'RESOLVED_GET_DATA',
data
}
}
को इस कार्य को कैसे प्रेषित/आमंत्रित करता हूं ? – mattnedrich
यह कॉल और स्थिति के प्रकार पर निर्भर करता है।
-
सरल के लिए आम तौर पर
- "हो जाता है" यह आसानी से उन्हें अपनी कार्रवाई रचनाकारों में रखने के रूप में नादर डैबित से पता चला है के द्वारा किया जा सकता है।
- जो के लिए चुनते हैं आप अपने ब्लॉक में उन्हें जगह (redux-कहानियों, Axios कॉल, redux-thunk) कई पक्ष प्रभाव प्रबंधन पुस्तकालयों
मैं अब के लिए redux-कहानियों का उपयोग कर रहे हैं। कम से कम जब तक हम एएसआईएनसी/इंतजार पर yay या nay तय नहीं करते हैं जो संभवतः जेएस के एक नए संस्करण में आ रहा है।
यह सबसे महत्वपूर्ण हिस्सा हो सकता है!
बस खाते में सामान्य "सम्मेलनों" है कि उपकरण आमतौर पर प्रलेखन, में पाए जाने वाले अपने विशेष सेट के साथ इस्तेमाल कर रहे हैं लेने के लिए और इस जैसी चीजों के लिए भविष्य में "सर्वोत्तम प्रथाओं" गूगल के लिए सुनिश्चित हो करना सुनिश्चित करें। इससे आपकी प्रोजेक्ट में अन्य लोगों को अपनी बीयरिंग प्राप्त करने में मदद मिलेगी और बस अपने नए अनुकूलित संस्करण को सीखने के बिना कूदने में मदद मिलेगी।
- 1. एक घटक आधारित आर्किटेक्चर में इंटरफेस कहां रखा जाए?
- 2. संसाधन कहां रखा जाए?
- 3. कहां रखा जाए। Hgignore?
- 4. setContentView() को ऑनक्रेट() में कहां रखा जाए?
- 5. आवेदन राज्य कहां रखा जाए?
- 6. Django: सहायक कार्यों को कहां रखा जाए?
- 7. लुमेन में व्यापार तर्क कहां रखा जाए?
- 8. हाइबरनेट एनोटेशन कहां रखा जाए?
- 9. रूपांतरण कार्यों को कहां रखा जाए?
- 10. रेल - डेटा फ़ाइलों को कहां रखा जाए?
- 11. आंतरिक कक्षाओं को कहां रखा जाए?
- 12. Drupal में रीडायरेक्ट तर्क कहां रखा जाए?
- 13. ओओपी - डेटा एक्सेस लेयर पर कॉल कहां रखा जाए?
- 14. Symfony2 में व्यावसायिक तर्क कहां रखा जाए?
- 15. ग्रहण में गिट भंडार कहां रखा जाए?
- 16. लार्वेल में मेनू तर्क कहां रखा जाए?
- 17. रेल में कोड स्निपेट कहां रखा जाए?
- 18. मेरी कक्षाओं में सुपर() या यह() को कहां रखा जाए
- 19. एमवीसी: व्यापार तर्क कहां रखा जाए?
- 20. केकपीएचपी - सेवा तर्क कहां रखा जाए
- 21. एक ग्रहण परियोजना में .properties फ़ाइलों को कहां रखा जाए?
- 22. लेखक को मार्कडाउन कोट में कहां रखा जाए?
- 23. प्ले फ्रेमवर्क में सेवा कक्षाओं को कहां रखा जाए?
- 24. मैवेन प्रोजेक्ट में ट्विटर बूटस्ट्रैप फ़ाइलों को कहां रखा जाए?
- 25. हमारे समाधान में इकाई ढांचे को कहां रखा जाए?
- 26. Ember.js में सीएसएस फ़ाइलों को कहां रखा जाए?
- 27. आईओएस स्विफ्ट में पुन: प्रयोज्य कार्यों को कहां रखा जाए?
- 28. प्रतिक्रिया-मूल परियोजना में छवियों को कहां रखा जाए?
- 29. एसक्यूएल फाइलों को आर पैकेज में कहां रखा जाए?
- 30. LICENSE फ़ाइल को सिम्फनी एप्लिकेशन में कहां रखा जाए?
कई दृष्टिकोण हैं, यदि यह एक साधारण एपीआई कॉल है, तो आप घटक लाइफसाइकिल विधियों जैसे घटकडिडमाउंट पर डाल सकते हैं, और फिर प्रतिक्रिया प्राप्त करते समय एक क्रिया भेज सकते हैं, हालांकि इसे जल्द से जल्द डीबग और बनाए रखना मुश्किल हो जाता है विभिन्न घटकों में इस एपीआई कॉल में से कुछ को जोड़ना शुरू करें, उस मामले में बेहतर दृष्टिकोण मिडलवेयर का उपयोग करना होगा, सबसे लोकप्रिय शायद रेडक्स-थंक या रेडक्स-सागास है, मैं व्यक्तिगत रूप से सगा – StackOverMySoul