क्या ब्राउज़र में रिएक्ट के रनटाइम संस्करण को जानने का कोई तरीका है?
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
क्या ब्राउज़र में रिएक्ट के रनटाइम संस्करण को जानने का कोई तरीका है?
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
जवाबों:
React.version वह है जो आप ढूंढ रहे हैं।
हालांकि यह अनिर्दिष्ट है (जहाँ तक मुझे पता है) तो यह एक स्थिर विशेषता नहीं हो सकती है (अर्थात हालांकि संभावना नहीं है, यह भविष्य के रिलीज में गायब हो सकता है या बदल सकता है)।
Reactस्क्रिप्ट के रूप में आयातित उदाहरण के साथ
const REACT_VERSION = React.version;
ReactDOM.render(
<div>React version: {REACT_VERSION}</div>,
document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
Reactएक मॉड्यूल के रूप में आयातित के साथ उदाहरण
import React from 'react';
console.log(React.version);
जाहिर है, यदि आप Reactएक मॉड्यूल के रूप में आयात करते हैं, तो यह वैश्विक दायरे में नहीं होगा। उपरोक्त कोड को आपके बाकी ऐप के साथ बंडल किया जाना है, जैसे वेबपैक का उपयोग करना । यह वास्तव में कभी काम नहीं करेगा यदि ब्राउज़र के कंसोल में उपयोग किया जाता है (यह नंगे इनपुट का उपयोग कर रहा है)।
यह दूसरा तरीका है अनुशंसित। ज्यादातर वेबसाइट इसका इस्तेमाल करेंगी। create-react-app यह करता है (यह दृश्य के पीछे वेबपैक का उपयोग कर रहा है)। इस स्थिति में, Reactएन्कैप्सुलेट किया जाता है और आम तौर पर बंडल के बाहर (जैसे ब्राउज़र के कंसोल में) पहुंच योग्य नहीं होता है।
versionसंपत्ति लाने की आवश्यकता है।
Uncaught ReferenceError: require is not definedUncaught ReferenceError: React is not defined
कमांड लाइन से:
npm view react version
npm view react-native version
क्रोम देव उपकरण खोलें या समतुल्य और require('React').versionकंसोल में चलाएं ।
यह फेसबुक जैसी वेबसाइटों पर काम करता है और यह पता लगाने के लिए कि वे किस संस्करण का उपयोग कर रहे हैं।
ReferenceError: require is not defined
प्रतिक्रियाशील Devtools स्थापित के साथ आप इसे ब्राउज़र कंसोल से चला सकते हैं:
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.forEach(r => console.log(`${r.rendererPackageName}: ${r.version}`))
जो कुछ इस तरह का उत्पादन करता है:
react-dom: 16.12.0
यह निश्चित नहीं है कि किसी भी वैश्विक ECMAScript चर का निर्यात किया गया है और HTML / css आवश्यक रूप से प्रतिक्रिया को इंगित नहीं करता है। तो .js में देखें।
विधि 1: ECMAScript में देखें:
संस्करण संख्या दोनों मॉड्यूल प्रतिक्रिया-डोम और प्रतिक्रिया द्वारा निर्यात की जाती है, लेकिन उन नामों को अक्सर बंडल करके हटा दिया जाता है और संस्करण निष्पादन के संदर्भ में छिपा होता है जिसे एक्सेस नहीं किया जा सकता है। एक चतुर विराम बिंदु सीधे मान प्रकट कर सकता है, या आप ECMAScript खोज सकते हैं:
विधि 2: DOM ब्रेकपॉइंट का उपयोग करें:
Inspect Element
Elementsफलक प्रदर्शित करता हैBreak On… - subtree modifications
Sourcesफलक प्रदर्शित करता हैCall Stackउप-फलक की जाँच करेंrenderप्रविष्टि होनी चाहिए , यह हैReactDOM.renderrender, यानी। कोड जो चालान प्रस्तुत करता हैreact-domमॉड्यूल निर्यात वस्तु
version: "15.6.2", अर्थात। सभी मूल्यों द्वारा निर्यात किया गयाreact-domसंस्करण को प्रतिक्रियाशील उपकरण में भी इंजेक्ट किया जाता है, लेकिन जहां तक मुझे पता है कि कहीं भी प्रदर्शित नहीं किया गया है।
कंसोल खोलें, फिर चलाएं window.React.version।
इसने 0.12.2 से 16.2.0 तक अपग्रेड करते हुए सफारी और क्रोम में काम किया।
अनुप्रयोग -प्रतिक्रिया- एप्लिकेशन के साथ बनाए गए ऐप के लिए मैं संस्करण देखने में कामयाब रहा:
स्रोत मानचित्र के बिना एप्लिकेशन को तैनात किया गया था।
स्थापित नहीं होने पर पहले रिएक्ट देव टूल्स इंस्टॉल करें और फिर ब्राउजर कंसोल में कोड के नीचे रन का उपयोग करें:
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.get(1).version