Apakah ada cara untuk mengetahui versi runtime dari React di browser?
javascript
reactjs
leojh
sumber
sumber
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
Jawaban:
React.version
adalah apa yang Anda cari.Ini tidak berdokumen meskipun (sejauh yang saya tahu) jadi ini mungkin bukan fitur yang stabil (yaitu meskipun tidak mungkin, itu mungkin hilang atau berubah dalam rilis mendatang).
Contoh dengan
React
diimpor sebagai skripContoh dengan
React
diimpor sebagai modulJelas, jika Anda mengimpor
React
sebagai modul, itu tidak akan berada dalam cakupan global. Kode di atas dimaksudkan untuk digabungkan dengan aplikasi Anda lainnya, misalnya menggunakan webpack . Ini hampir tidak akan pernah berfungsi jika digunakan di konsol browser (ini menggunakan input kosong).Pendekatan kedua ini adalah yang direkomendasikan. Sebagian besar situs web akan menggunakannya. create-react-app melakukan ini (ini menggunakan webpack di belakang layar). Dalam kasus ini,
React
dienkapsulasi dan umumnya tidak dapat diakses sama sekali di luar bundel (misalnya di konsol browser).sumber
version
properti modul.Uncaught ReferenceError: require is not defined
danUncaught ReferenceError: React is not defined
Dari baris perintah:
sumber
Buka Chrome Dev Tools atau yang setara dan jalankan
require('React').version
di konsol.Itu berfungsi di situs web seperti Facebook juga untuk mengetahui versi apa yang mereka gunakan.
sumber
ReferenceError: require is not defined
Dengan menginstal React Devtools, Anda dapat menjalankan ini dari konsol browser:
Yang menghasilkan sesuatu seperti:
sumber
Tidak ada kepastian bahwa variabel ECMAScript global telah diekspor dan html / css tidak selalu menunjukkan React. Jadi lihat di .js.
Metode 1: Lihat di ECMAScript:
Nomor versi diekspor oleh kedua modul react-dom dan react tetapi nama-nama itu sering dihapus dengan bundling dan versi disembunyikan di dalam konteks eksekusi yang tidak dapat diakses. Sebuah break point pintar dapat mengungkapkan nilai secara langsung, atau Anda dapat mencari ECMAScript:
Metode 2: Gunakan breakpoint DOM:
Inspect Element
Elements
panelBreak On… - subtree modifications
Sources
panelCall Stack
sub-panelrender
entri, iniReactDOM.render
render
, yaitu. kode yang memanggil renderreact-dom
ekspor modul obyekversion: "15.6.2"
, yaitu. semua nilai yang diekspor olehreact-dom
Versi ini juga disuntikkan ke alat dev React, tetapi sejauh yang saya tahu tidak ditampilkan di mana pun.
sumber
Buka konsol, lalu jalankan
window.React.version
.Ini berfungsi untuk saya di Safari dan Chrome saat meningkatkan dari 0.12.2 ke 16.2.0.
sumber
Di file index.js, cukup ganti komponen App dengan "React.version". Misalnya
Saya telah memeriksa ini dengan React v16.8.1
sumber
Untuk aplikasi yang dibuat dengan create-react-app, saya berhasil melihat versinya:
Aplikasi diterapkan tanpa peta sumber.
sumber
Dalam proyek yang sudah ada, cara sederhana untuk melihat versi React adalah pergi ke
render
metode komponen apa pun dan menambahkan:<p>{React.version}</p>
Ini mengasumsikan Anda mengimpor React seperti ini:
import React from 'react'
sumber
Pertama, Instal alat dev React jika tidak diinstal, lalu gunakan kode di bawah ini di konsol browser:
sumber