प्रतिक्रिया घटक से डेटा पढ़ें? [डुप्लिकेट]

Dec 01 2020

मैं एक तीसरे पक्ष के वेब पेज पर प्रतिक्रिया घटक के साथ जुड़े डेटा को पढ़ने में सक्षम होना चाहूंगा जो रिएक्ट का उपयोग कर रहा है। मैं उस पृष्ठ पर Chrome देव कंसोल टूल के भीतर जावास्क्रिप्ट का उपयोग करके इसे पढ़ने में सक्षम होना चाहता हूं। क्या यह संभव है?

उदाहरण के लिए, मेरे पास एक TR तत्व है जो प्रतिक्रिया द्वारा खींचा गया है। मैं नियमित TR.getElementById () का उपयोग करके इस TR को प्राप्त करना चाहूंगा और फिर अंतर्निहित प्रतिक्रिया डेटा प्राप्त करने के लिए इसका उपयोग करूंगा।

रिएक्टर डेवलपर टूल्स एक्सटेंशन का उपयोग करके मैं अपने डेटा को सिर्फ प्रॉपर.डेटा के नीचे बैठा देख सकता हूं - मैं इसे कैसे पढ़ सकता हूं?

कृपया ध्यान दें कि मैं रिएक्ट को यहां ब्लैक बॉक्स के रूप में मान रहा हूं।

नोट: इस उत्तर के अनुसार मुझे DOM तत्व से एक रिएक्शन ऑब्जेक्ट मिल सकता है, और यह काम करता है: React - डीबगिंग के लिए DOM से एक घटक प्राप्त करना

window.findReactComponent = function(el) {
  for (const key in el) {
    if (key.startsWith('__reactInternalInstance$')) {
      const fiberNode = el[key];

      return fiberNode && fiberNode.return && fiberNode.return.stateNode;
    }
  }
  return null;
};

लेकिन पाने के बाद, मैं कैसे सहारा ले सकते हैं?

जवाब

1 DanielWilliams Dec 01 2020 at 06:19

अहा मुझे चाबी मिल गई। आपको सही DOM तत्व प्राप्त करने में सावधानी बरतने की आवश्यकता है। मैं पदानुक्रम पर बहुत नीचे की कोशिश कर रहा था। एक बार जब मैंने रिएक्ट देव टूल्स एक्सटेंशन का उपयोग "मिलान डोम तत्व का निरीक्षण करने के लिए" किया था, तो मेरे पास सही तत्व था और मैं अपने प्रॉपर प्राप्त करने में सक्षम था।