Existe-t-il un moyen de connaître la version d'exécution de React dans le navigateur?
React.version
est ce que vous recherchez.
Toutefois, il n’est pas documenté (pour autant que je sache), donc il se peut que ce ne soit pas une fonctionnalité stable (c’est-à-dire qu’elle soit improbable mais qu’elle puisse disparaître ou changer dans les prochaines versions).
Exemple avec React
importé en tant que script
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>
Exemple avec React
importé en tant que module
const React = require('react');
console.log(React.version);
Évidemment, si vous importez React
en tant que module, cela ne sera pas dans la portée globale. Le code ci-dessus est destiné à être intégré au reste de votre application, par exemple. en utilisant webpack . Cela ne fonctionnera pratiquement jamais s'il est utilisé dans la console d'un navigateur.
Cette deuxième approche est la recommandée. La plupart des sites Web vont l'utiliser. create-react-app fait cela (il utilise webpack derrière la scène). Dans ce cas, React
est encapsulé et n'est généralement pas accessible du tout en dehors de l'ensemble (par exemple, dans la console d'un navigateur).
Ouvrez Chrome Dev Tools ou son équivalent et exécutez require('React').version
dans la console.
Cela fonctionne également sur des sites Web comme Facebook pour savoir quelle version ils utilisent.
Il n’est pas certain que des variables globales ECMAScript aient été exportées et html/css n’indique pas nécessairement React. Alors regardez dans le .js.
Méthode 1: Rechercher dans ECMAScript:
Le numéro de version est exporté par les deux modules react-dom et react, mais ces noms sont souvent supprimés par regroupement et la version est masquée dans un contexte d'exécution inaccessible. Un point de rupture intelligent peut révéler la valeur directement, ou vous pouvez rechercher le script ECMAScript:
Méthode 2: Utiliser un point d'arrêt DOM:
Inspect Element
Elements
.Break On… - subtree modifications
Sources
.Call Stack
.render
, c'est ReactDOM.render
render
, c'est-à-dire. le code qui appelle le rendureact-dom
exporte un objet version: "15.6.2"
est affichée. toutes les valeurs exportées par react-dom
La version est également injectée dans les outils de développement de React, mais pour autant que je sache, elle n'est affichée nulle part.
Ouvrez la console, puis exécutez window.React.version
.
Cela a fonctionné pour moi dans Safari et Chrome lors de la mise à niveau de la version 0.12.2 à la version 16.2.0.
Pour une application créée avec create-react-app J'ai réussi à voir la version:
L'application a été déployée sans carte source.
Dans un projet existant, un moyen très simple de voir la version de React consiste à accéder à la méthode render
de tout composant et à ajouter:
<p>{React.version}<p>
Je suppose que vous importez Réagir comme ceci: import React from 'react'
Dans le fichier index.js, remplacez simplement App Component par "React.version" .
ReactDOM.render(React.version, document.getElementById('root'));
J'ai vérifié cela avec React v16.8.1