Gibt es eine Möglichkeit, die Laufzeitversion von React im Browser zu kennen?
React.version
ist was Sie suchen.
Es ist jedoch (soweit ich weiß) nicht dokumentiert, so dass es möglicherweise kein stabiles Merkmal ist (d. H. Obwohl es unwahrscheinlich ist, kann es in zukünftigen Versionen verschwinden oder sich ändern).
Beispiel mit React
als Skript importiert
const REACT_VERSION = React.version;
ReactDOM.render(
<div>React version: {REACT_VERSION}</div>,
document.getElementById('content')
);
<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="content"></div>
Beispiel mit React
als Modul importiert
const React = require('react');
console.log(React.version);
Wenn Sie React
als Modul importieren, ist dies natürlich nicht im globalen Bereich. Der obige Code soll mit dem Rest Ihrer App gebündelt werden, z. mit webpack . Es wird praktisch nie funktionieren, wenn es in einer Browserkonsole verwendet wird.
Dieser zweite Ansatz ist der empfohlene. Die meisten Websites verwenden es. create -react-app macht dies (es verwendet webpack hinter der Szene). In diesem Fall ist React
gekapselt und im Allgemeinen außerhalb des Pakets (z. B. in einer Browser-Konsole) überhaupt nicht zugänglich.
Öffnen Sie die Chrome Dev Tools oder ein gleichwertiges Programm und führen Sie require('React').version
in der Konsole aus.
Das funktioniert auch auf Websites wie Facebook, um herauszufinden, welche Version sie verwenden.
Es ist nicht sicher, dass globale ECMAScript-Variablen exportiert wurden und html/css nicht unbedingt auf React verweist. Also in die .js schauen.
Methode 1: In ECMAScript suchen:
Die Versionsnummer wird von beiden Modulen react-dom und react exportiert. Diese Namen werden jedoch häufig durch Bündeln entfernt und die Version wird in einem Ausführungskontext versteckt, auf den nicht zugegriffen werden kann. Ein intelligenter Haltepunkt kann den Wert direkt anzeigen oder Sie können das ECMAScript durchsuchen:
Methode 2: Verwenden Sie einen DOM-Haltepunkt:
Inspect Element
Elements
anBreak On… - subtree modifications
Sources
anCall Stack
-Teilbereichrender
-Eintrag geben, dies ist ReactDOM.render
render
, dh. der Code, der das Rendern aufruftreact-dom
exportiert das Objekt version: "15.6.2"
wird angezeigt. alle von react-dom
exportierten WerteDie Version wird auch in React-Entwicklertools eingespritzt, aber meines Wissens nicht überall angezeigt.
Öffnen Sie die Konsole und führen Sie window.React.version
aus.
Dies funktionierte für mich in Safari und Chrome beim Upgrade von 0.12.2 auf 16.2.0.
Für eine App, die mit create -react-app erstellt wurde, konnte ich die Version sehen:
Die App wurde ohne Quellkarte bereitgestellt.
In einem vorhandenen Projekt können Sie die React-Version ganz einfach anzeigen, indem Sie zu einer render
-Methode einer beliebigen Komponente wechseln und Folgendes hinzufügen:
<p>{React.version}<p>
Ich nehme an du importierst Reagier so: import React from 'react'
Ersetzen Sie einfach in der Datei index.js App component durch "React.version" .
ReactDOM.render(React.version, document.getElementById('root'));
Ich habe dies mit React v16.8.1 überprüft