"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > रिएक्ट रेंडर फ़ंक्शंस में एसिंक्रोनस रूप से डेटा कैसे प्राप्त करें

रिएक्ट रेंडर फ़ंक्शंस में एसिंक्रोनस रूप से डेटा कैसे प्राप्त करें

2024-10-31 को प्रकाशित
ब्राउज़ करें:815

How to Asynchronously Fetch Data in React Render Functions

रिएक्ट रेंडर फ़ंक्शंस में async/await का उपयोग कैसे करें

रिएक्ट में, रेंडर फ़ंक्शन आमतौर पर शुद्ध, सिंक्रोनस ऑपरेशंस के लिए होता है। हालाँकि, कुछ परिदृश्यों में, आपको इस फ़ंक्शन के भीतर अतुल्यकालिक कार्य करने की आवश्यकता का सामना करना पड़ सकता है। यह आलेख रेंडर फ़ंक्शन में एसिंक/प्रतीक्षा सिंटैक्स का प्रभावी ढंग से उपयोग करने का तरीका बताएगा। रेंडर फ़ंक्शन में सीधे मैप फ़ंक्शन के भीतर प्रतीक्षा करने से अप्रत्याशित व्यवहार हो सकता है। ऐसा इसलिए है क्योंकि मैप फ़ंक्शन सिंक्रोनस संचालन की अपेक्षा करता है, और इसके भीतर एसिंक्रोनस कॉल करने का प्रयास रेंडरिंग प्रक्रिया के प्रवाह को बाधित कर सकता है।

डेटा फ़ेचिंग को प्रदर्शित करने से अलग करना

इस समस्या को हल करने के लिए, डेटा लाने की प्रक्रिया को डिस्प्ले लॉजिक से अलग करने की अनुशंसा की जाती है। रेंडर फ़ंक्शन के भीतर एसिंक्रोनस ऑपरेशन करने के बजाय, एक अलग घटक या हुक में डेटा लाने की शुरुआत करना अधिक उपयुक्त है।

पैरेंट कंपोनेंट में एसिंक्रोनस डेटा फ़ेचिंग

इस दृष्टिकोण में, आप अतुल्यकालिक अनुरोध करने और डेटा प्रबंधित करने के लिए जिम्मेदार एक मूल घटक (उदाहरण के लिए, ParentThatFetches) बनाते हैं। जीवनचक्र विधियों या हुक का उपयोग करके, मूल घटक डेटा लाता है और इसे राज्य में संग्रहीत करता है। इसके बाद, मूल घटक सशर्त रूप से एक शुद्ध कार्यात्मक चाइल्ड घटक (उदाहरण के लिए, चाइल्ड) प्रस्तुत करता है जो प्राप्त डेटा को प्रॉप्स के रूप में प्राप्त करता है। ]

this.state = {};

}

componentDidMount () {


fetch('/some/async/data') .तब(सम्मान => सम्मान.json()) .then(data => this.setState({data}));

}
this.state = {};
render() {

{this.state.data && ( )}

}
fetch('/some/async/data')
  .then(resp => resp.json())
  .then(data => this.setState({data}));

const Child = ({ data }) => (

{data.map((x, i) => ({x}))}
this.state = {};

);

हुक का उपयोग करके डेटा प्राप्त करना


रिएक्ट में हुक के आगमन के साथ, डेटा प्राप्त करना और भी सरल हो सकता है। निम्नलिखित कोड स्निपेट दर्शाता है कि डेटा को एसिंक्रोनस रूप से लाने और तदनुसार स्थिति को अपडेट करने के लिए हुक का उपयोग कैसे करें:
this.state = {};

const ParentThatFetches = () => {
const [data, updateData] = useState();
useEffect(() => {

const getData = async() => { स्थिरांक सम्मान = प्रतीक्षा फ़ेच('कुछ/यूआरएल'); स्थिरांक json = resp.json का इंतजार करें() अपडेटडेटा(json); } getData();

}, []);

रिटर्न डेटा &&
}

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729236261 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3