के साथ async प्रतिक्रिया-चयन का उपयोग करें I async प्रतिक्रिया-चयन (Select.Async) को लागू करने का प्रयास करें। समस्या यह है कि हम रेडक्स-सागा में लाने के लिए चाहते हैं। तो यदि कोई उपयोगकर्ता कुछ टाइप करता है, तो फ़ेच-एक्शन ट्रिगर किया जाना चाहिए। सागा फिर रिकॉर्ड लाती है और उन्हें स्टोर में सहेजा जाता है। यह अब तक काम करता है। दुर्भाग्य से लोडऑप्शन को एक वादा वापस करना होगा या कॉलबैक को कॉल किया जाना चाहिए। चूंकि नए पुनर्प्राप्त विकल्पों को एक बदलती संपत्ति के साथ प्रचारित किया जाता है, इसलिए मुझे का चयन करने का कोई तरीका नहीं दिखता है। एसिंक साथ ही एसाइन फ़ेच कॉल करने के लिए गाथा के साथ। कोई सुझाव?Redux-saga
<Select.Async
multi={false}
value={this.props.value}
onChange={this.onChange}
loadOptions={(searchTerm) => this.props.options.load(searchTerm)}
/>
मैं एक हैक जहां मैं एक वर्ग चर को कॉलबैक सौंपा और componentWillReceiveProps पर इसे सुलझाने के लिए किया था। इस तरह बदसूरत और ठीक से काम नहीं किया, इसलिए मैं एक बेहतर समाधान की तलाश में हूं।
धन्यवाद
आपके उत्तर के लिए धन्यवाद! हां, जैसा कि आपने वर्णन किया है, वैसे ही मैं समस्या को हल करना चाहता हूं। मुद्दा यह है कि प्रतिक्रिया-चयन के "ऑन चेंज" (लोडऑप्शन), जहां मुझे "विकल्प अनुरोधित" कॉल करना होगा, एक वादा वापस करने की अपेक्षा करता है। Thats क्योंकि वे उम्मीद करते हैं कि आप वहां लाने के लिए कॉल करें। जहां तक मुझे पता है कि गाथा के साथ घटकों में एक वादा हल करने का कोई तरीका नहीं है? – MethodenMann
हाय, मैंने यहां प्रलेखन को देखा: https://github.com/JedWatson/react-select#usage और 'onChange' को एक वादा वापस करने की आवश्यकता नहीं है। यह सिर्फ एक घटना हैंडलर है। मेरे उदाहरण में मैं 'विकल्प बदलें 'एक्शन क्रिएटर को कॉल करने के लिए' ऑन चेंज 'का उपयोग करता हूं जिसे फिर रेडक्स द्वारा प्रेषित किया जाता है और आखिरकार' सागा 'द्वारा संभाला जाता है जो सेवा अनुरोध करता है। – Alex
हे। ओह क्षमा करें, अब मैं भ्रम देखता हूं। मैं अपने sagas में searchTerm के रूप में चयन के मूल्य का उपयोग नहीं करना चाहता। प्रतिक्रिया-चयन आपको खोज करने के लिए टाइप करने की अनुमति देता है। इस खोज पर मैं उपयोगकर्ता के चयन के लिए अपने प्रतिक्रिया-चयन के लिए नए विकल्प प्राप्त करना चाहता हूं। ऐसा इसलिए है क्योंकि हजारों रिकॉर्ड हो सकते हैं और मैं उन्हें शुरुआत में लोड नहीं करना चाहता हूं। यह loadOptions के साथ हासिल किया जा सकता है और वहां मुझे एक वादा की आवश्यकता है। – MethodenMann