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

क्लासिक क्लास घटकों के भीतर रिएक्ट हुक का लाभ कैसे उठाएं?

2024-11-06 को प्रकाशित
ब्राउज़ करें:124

How to Leverage React Hooks Within Classic Class Components?

क्लासिक क्लास घटकों के साथ रिएक्ट हुक को एकीकृत करना

हालांकि रिएक्ट हुक क्लास-आधारित घटक डिजाइन का एक विकल्प प्रदान करते हैं, उन्हें मौजूदा क्लास में शामिल करके धीरे-धीरे अपनाना संभव है अवयव। इसे उच्च-क्रम घटकों (HOCs) का उपयोग करके प्राप्त किया जा सकता है।

निम्नलिखित वर्ग घटक पर विचार करें:

class MyDiv extends React.component {
   constructor() {
      this.state = { sampleState: 'hello world' };
   }
   render() {
      return 
{this.state.sampleState}
; } }

इस घटक में एक हुक जोड़ने के लिए, एक HOC बनाएं जो घटक को लपेटता है और एक प्रोप के रूप में हुक का मान प्रदान करता है:

function withMyHook(Component) {
  return function WrappedComponent(props) {
    const myHookValue = useMyHook();
    return ;
  }
}

हालाँकि सीधे क्लास घटक से हुक का उपयोग नहीं किया जाता है, यह विधि आपको कोड रीफैक्टरिंग के बिना हुक की कार्यक्षमता का लाभ उठाने की अनुमति देती है।

class MyComponent extends React.Component {
  render() {
    const myHookValue = this.props.myHookValue;
    return 
{myHookValue}
; } } export default withMyHook(MyComponent);

इस दृष्टिकोण का उपयोग करके, आप उत्तरोत्तर अपने वर्ग-आधारित घटकों में हुक पेश कर सकते हैं, जिससे अधिक आधुनिक रिएक्ट आर्किटेक्चर की ओर एक सहज संक्रमण की अनुमति मिलती है।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3