मैं रिस्पॉज/रेडक्स के साथ एक नौसिखिया हूं, रेडक्स ऐप में डेटा पुनर्प्राप्त करने के लिए एपीआई कॉल का उपयोग करने के उदाहरण का उपयोग करने के लिए सरल नहीं मिला। मुझे लगता है कि आप एक jquery AJAX कॉल का उपयोग कर सकते हैं लेकिन वहां संभावित संभावित विकल्प हैं?रेडक्स में एपीआई के माध्यम से डेटा कैसे लाया जाए?
उत्तर
JSfiddle; http://jsfiddle.net/cdagli/b2uq8704/6/
यह रेडक्स, रेडक्स-थंक और fetch का उपयोग करता है।
कार्यप्रणाली प्राप्त करें;
(नोट::।। आप कई कार्यों जैसे fetchPostRequest एक लोडिंग सूचक प्रदर्शित करने के लिए इस्तेमाल किया जा सकता परिभाषित कर सकते हैं या आप अलग HTTP स्थिति कोड के मामले में विभिन्न कार्यों का प्रेषण कर सकते हैं)
function fetchPostsWithRedux() {
return (dispatch) => {
dispatch(fetchPostsRequest());
return fetchPosts().then(([response, json]) =>{
if(response.status === 200){
dispatch(fetchPostsSuccess(json))
}
else{
dispatch(fetchPostsError())
}
})
}
}
function fetchPosts() {
const URL = "https://jsonplaceholder.typicode.com/posts";
return fetch(URL, { method: 'GET'})
.then(response => Promise.all([response, response.json()]));
}
ऊपर उपयोग क्रिया
function fetchPostsRequest(){
return {
type: "FETCH_REQUEST"
}
}
function fetchPostsSuccess(payload) {
return {
type: "FETCH_SUCCESS",
payload
}
}
function fetchPostsError() {
return {
type: "FETCH_ERROR"
}
}
और आपके reducer में आप पदों को राज्य में लोड कर सकते हैं;
const reducer = (state = {}, action) => {
switch (action.type) {
case "FETCH_REQUEST":
return state;
case "FETCH_SUCCESS":
return {...state, posts: action.payload};
default:
return state;
}
}
आप उन्हें जोड़ने के बाद अपने घटक के भीतर राज्य और कार्यों तक पहुंच सकते हैं;
connect(mapStateToProps, {fetchPostsWithRedux})(App);
एक एक्शन बनाएं जहां आप अपने एपीआई को अनुरोध करते हैं। आप अक्षरों या fetch जैसी लाइब्रेरी का उपयोग कर सकते हैं जो एक वादा वापस कर देता है।
कार्यों/index.js:
import axios from 'axios';
export const FETCH_SOMETHING= 'FETCH_SOMETHING;
const ROOT_URL = 'http://api.youapi.com';
export function fetchWeather(city) {
const url = `${ROOT_URL}&q=${aParamYouMayNeed}`;
const request = axios.get(url);
return {
type: FETCH_SOMETHING,
payload: request
};
}
फिर एक कम करने में
, एक बार हल हो वादा परिणाम का उपभोग इस प्रकार है:
reducers/reducer_something.js:
import { FETCH_SOMETHING} from '../actions/index';
export default function(state = [], action) {
switch (action.type) {
case FETCH_SOMETHING:
return [ action.payload.data, ...state ];
}
return state;
}
कोड उधार स्टीफन ग्रिडर से। यह उसका रेपो है: https://github.com/StephenGrider/ReduxCasts/tree/master/weather/src
क्या आपके पास प्लंकर या कुछ है? –
नहीं, लेकिन आप myresponse में नमूना क्लोन कर सकते हैं (बस इसे संपादित किया है) जिसे मैंने परीक्षण किया है और ठीक काम करता है। – Franco
यह सुनिश्चित करने के लिए कि क्या वादा पूरा हो गया है और 'डेटा'' अपरिभाषित नहीं है, आपको reducer में '.then()' का उपयोग करने की आवश्यकता क्यों नहीं है? – jhuang
- 1. एपीआई कॉल को रिएक्ट/रेडक्स आर्किटेक्चर में कहां रखा जाए?
- 2. jquery में विंडो में फ़ोकस कैसे लाया जाए?
- 3. मेरे आवेदन को सामने कैसे लाया जाए?
- 4. फ़ाइल सिस्टम और डेटाबेस के बीच समन्वय कैसे लाया जाए?
- 5. डिवी स्केल को लंबवत तरीके से कैसे नीचे लाया जाए?
- 6. आईओएस में अग्रभूमि में आवेदन कैसे लाया जाए?
- 7. एक एमकेएनोटेशन ऑब्जेक्ट के पीछे UIBezierPath कैसे लाया जाए?
- 8. हरोकू पर नया अवशेष, इसे कैसे काम पर लाया जाए?
- 9. पूर्ण एक्सकोड 4 इंटरफ़ेस को वापस कैसे लाया जाए?
- 10. रेडक्स और रेडक्स राउटर
- 11. GXT: सत्र समाप्त होने पर लॉगिन पृष्ठ कैसे लाया जाए
- 12. एक्सक्स के साथ रेडक्स में एपीआई कॉल हैंडलिंग
- 13. एपीआई के माध्यम से जीमेल लेबल रंग?
- 14. क्या यूएसबी केबल के माध्यम से यूएसबी होस्ट एपीआई के माध्यम से पीसी में डेटा स्थानांतरित कर सकते हैं?
- 15. केकफ़्पी में विदेशी कुंजी के माध्यम से डेटा कैसे खोजें?
- 16. मार्ग परिवर्तन पर रेडक्स-सागा प्रीलोड डेटा
- 17. विंडोज फोन के लिए shoutcast रेडियो चैनल से मेटाडेटा कैसे लाया जाए?
- 18. कोणीय: एपीआई के माध्यम से एक चर
- 19. रेडक्स
- 20. चॉकलेट के माध्यम से स्थापित पैकेज को कैसे हटाया जाए?
- 21. एपीआई के माध्यम से ऑर्डर सृजन Magento
- 22. PHP कैसे mysql के माध्यम से जेसन डेटा को स्टोर और पढ़ा जाए?
- 23. SQLite डेटाबेस से डेटा कैसे पढ़ा जाए?
- 24. NSDocumentDirectory से डेटा को कैसे पढ़ा जाए
- 25. रेडक्स ऐप
- 26. रेडक्स स्टोर में नेस्टेड डेटा अपडेट करना
- 27. हबेस से डेटा कैसे पढ़ा जाए?
- 28. टूलटिप के माध्यम से डेटाबेस से डेटा कैसे प्रदर्शित करें?
- 29. IE9 में बाइनरी डेटा कैसे पढ़ा जाए?
- 30. मैं libwebsocket के माध्यम से async डेटा कैसे भेजूं?
https://github.com/argelius/react-onsenui-redux-weather/tree/master/api की [मैं कैसे प्रतिक्रिया-redux में एक HTTP अनुरोध कर सकता हूँ?] (Http –
संभावित डुप्लिकेट: //stackoverflow.com/questions/39794895/how-do-i-make-an-http-request-in-react-redux) –