Czy jest sposób, aby poznać wersję uruchomieniową Reacta w przeglądarce?
javascript
reactjs
leojh
źródło
źródło
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
Odpowiedzi:
React.version
jest tym, czego szukasz.Jest to jednak nieudokumentowane (o ile wiem), więc może nie być stabilną funkcją (tj. Choć mało prawdopodobne, może zniknąć lub ulec zmianie w przyszłych wydaniach).
Przykład z
React
importem jako skryptPrzykład z
React
importem jako modułOczywiście, jeśli importujesz
React
jako moduł, nie będzie on objęty zakresem globalnym. Powyższy kod jest przeznaczony do dołączenia do reszty aplikacji, np. Za pomocą webpacka . Praktycznie nigdy nie zadziała, jeśli zostanie użyty w konsoli przeglądarki (używa samego wejścia).To drugie podejście jest zalecane. Będzie go używać większość witryn internetowych. create-react-app robi to (używa webpacka za kulisami ). W tym przypadku
React
jest hermetyzowany i generalnie nie jest w ogóle dostępny poza pakietem (np. W konsoli przeglądarki).źródło
version
właściwość modułu.Uncaught ReferenceError: require is not defined
iUncaught ReferenceError: React is not defined
Z wiersza poleceń:
źródło
Otwórz Chrome Dev Tools lub odpowiednik i uruchom
require('React').version
w konsoli.Działa to również w witrynach takich jak Facebook, aby dowiedzieć się, jakiej wersji używają.
źródło
ReferenceError: require is not defined
Po zainstalowaniu React Devtools możesz uruchomić to z konsoli przeglądarki:
Który wyświetla coś takiego:
źródło
Nie ma pewności, czy jakiekolwiek globalne zmienne ECMAScript zostały wyeksportowane, a html / css niekoniecznie oznacza React. Więc spójrz na .js.
Metoda 1: Zajrzyj do ECMAScript:
Numer wersji jest eksportowany przez oba moduły reaguj-dom i reaguj, ale te nazwy są często usuwane przez pakowanie, a wersja jest ukryta w kontekście wykonania, do którego nie można uzyskać dostępu. Sprytny punkt przerwania może bezpośrednio ujawnić wartość lub możesz przeszukać ECMAScript:
Metoda 2: Użyj punktu przerwania DOM:
Inspect Element
Elements
panelBreak On… - subtree modifications
Sources
okienkoCall Stack
okienku podrzędnymrender
wpisReactDOM.render
render
, tj. kod, który wywołuje renderreact-dom
przedmiot eksportu modułuversion: "15.6.2"
m.in. wszystkie wartości wyeksportowane przezreact-dom
Wersja jest również wstrzykiwana do narzędzi deweloperskich React, ale o ile wiem, nigdzie nie jest wyświetlana.
źródło
Otwórz konsolę, a następnie uruchom
window.React.version
.To działało dla mnie w Safari i Chrome podczas aktualizacji z 0.12.2 do 16.2.0.
źródło
W pliku index.js po prostu zamień komponent aplikacji na „React.version”. Na przykład
Sprawdziłem to w React v16.8.1
źródło
W przypadku aplikacji utworzonej za pomocą aplikacji create-react-app udało mi się zobaczyć wersję:
Aplikacja została wdrożona bez mapy źródłowej.
źródło
W istniejącym projekcie prostym sposobem zobaczenia wersji Reacta jest przejście do
render
metody dowolnego komponentu i dodanie:<p>{React.version}</p>
Zakłada się, że importujesz Reacta w następujący sposób:
import React from 'react'
źródło
Najpierw zainstaluj narzędzia deweloperskie React, jeśli nie są zainstalowane, a następnie użyj poniższego kodu w konsoli przeglądarki:
źródło