मैं नीचे दिए गए उदाहरण में रिएक्ट, रेडक्स और थंक के साथ लिखी गई जावास्क्रिप्ट पढ़ रहा हूं:

क्रियाएँ.js में क्रिया बनाने के लिए:

function fetchPosts(subreddit){
    return dispatch => {
            dispatch(requestPosts(subreddit))
            return fetch(`...URL...`)
                    .then(response => response.json())
                    .then(json => dispatch(receivePosts(subreddit, json)))
    }
}

export function fetchPostsIfNeeded(subreddit) {
  return (dispatch, getState) => {
    if (shouldFetchPosts(getState(), subreddit)) {
      return dispatch(fetchPosts(subreddit))
    }
  }

"fetchPosts(subreddit)" क्या लौटाता है? .

मैं समझ नहीं पा रहा हूं कि "वापसी प्रेषण =>" क्या है

यह फ़ंक्शन आयात किया जाता है और एक कंटेनर में कार्रवाई को प्रेषित करने के लिए उपयोग किया जाता है, इसलिए मुझे लगता है कि "प्रेषण" एक फ़ंक्शन है जिसे नीचे कंटेनर में 'रिएक्शन-रेडक्स' से आयात किया गया है:

import {fetchPostsIfNeeded} from "../actions"
import {connect} from "react-redux"
...
componentDidMount() {
    const { dispatch, selectedSubreddit } = this.props
    dispatch(fetchPostsIfNeeded(selectedSubreddit))
  }
...

क्या तीर से पहले "प्रेषण" का मतलब एक फ़ंक्शन है, "प्रेषण (अनुरोध पोस्ट (सबरेडिट))"?

प्रेषण एक तर्क है जिसके रूप में "(प्रेषण)" को ES2015 के साथ संक्षिप्त किया गया है?

2
user2255716 3 मार्च 2017, 09:26

1 उत्तर

सबसे बढ़िया उत्तर

https://developer.mozilla.org/en से -यूएस/दस्तावेज़/वेब/जावास्क्रिप्ट/संदर्भ/कार्य/एरो_फ़ंक्शंस :

// Parentheses are optional when there's only one parameter:
(singleParam) => { statements }
singleParam => { statements }

तो, dispatch => {...}, एक पैरामीटर dispatch के साथ एक एरो फंक्शन बना रहा है। fetchPosts(subreddit) सिंगल एरो फंक्शन देता है।

{ disppatch, selectedSubreddit } = this.props के बारे में जो बकवास है, उसे डिस्ट्रक्चरिंग असाइनमेंट कहा जाता है। मैनुअल: MDN डिस्ट्रक्चरिंग असाइनमेंट

इसका सार है:

var o = {p: 42, q: true};
var {p, q} = o;
console.log(p); // 42
console.log(q); // true

तो हाँ, dispatch को this.props से खींचा जा रहा है, जो प्रतीत होता है कि एक प्रतिक्रिया घटक है! ReactJS कंपोनेंट्स और प्रॉप्स

2
trognanders 3 मार्च 2017, 09:40
आपको धन्यवाद! मैं समझ गया कि यह "प्रेषण" एक फ़ंक्शन है, और एक तीर फ़ंक्शन देता है। जब इस फ़ंक्शन में सभी "प्रेषण" को दूसरे नाम में बदल दिया जाता है, तो यह फ़ंक्शन तब भी काम करता है जैसा आपने कहा था। आपका बहुत बहुत धन्यवाद!
 – 
user2255716
4 मार्च 2017, 10:35