Existe uma maneira de saber a versão runtime do React no navegador?
javascript
reactjs
leojh
fonte
fonte
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
Respostas:
React.version
é o que você está procurando.No entanto, ele não está documentado (até onde eu sei), portanto pode não ser um recurso estável (ou seja, embora improvável, pode desaparecer ou mudar em versões futuras).
Exemplo com
React
importado como um scriptExemplo com
React
importado como um móduloObviamente, se você importar
React
como módulo, não estará no escopo global. O código acima deve ser empacotado com o resto do seu aplicativo, por exemplo, usando o webpack . Praticamente nunca funcionará se for usado no console de um navegador (está usando entrada simples).Esta segunda abordagem é a recomendada. A maioria dos sites vai usá-lo. create- react -app faz isso (ele está usando webpack nos bastidores ). Nesse caso,
React
é encapsulado e geralmente não pode ser acessado fora do pacote (por exemplo, no console de um navegador).fonte
version
propriedade do módulo.Uncaught ReferenceError: require is not defined
eUncaught ReferenceError: React is not defined
Na linha de comando:
fonte
Abra o Chrome Dev Tools ou equivalente e execute
require('React').version
no console.Isso funciona em sites como o Facebook também para descobrir qual versão eles estão usando.
fonte
ReferenceError: require is not defined
Com o React Devtools instalado, você pode executar isso no console do navegador:
O que resulta em algo como:
fonte
Não é certo que quaisquer variáveis ECMAScript globais tenham sido exportadas e html / css não indica necessariamente React. Portanto, olhe no .js.
Método 1: Procure no ECMAScript:
O número da versão é exportado por ambos os módulos react-dom e react, mas esses nomes são frequentemente removidos pelo empacotamento e a versão é escondida dentro de um contexto de execução que não pode ser acessado. Um ponto de interrupção inteligente pode revelar o valor diretamente ou você pode pesquisar no ECMAScript:
Método 2: use um ponto de interrupção DOM:
Inspect Element
Elements
painelBreak On… - subtree modifications
Sources
painelCall Stack
subpainelrender
entrada, esta éReactDOM.render
render
, ou seja. o código que invoca renderreact-dom
módulo exporta objetoversion: "15.6.2"
, ou seja. todos os valores exportados porreact-dom
A versão também é injetada nas ferramentas de desenvolvimento do React, mas até onde eu sei não é exibida em lugar nenhum.
fonte
Abra o console e execute
window.React.version
.Isso funcionou para mim no Safari e no Chrome durante a atualização de 0.12.2 para 16.2.0.
fonte
No arquivo index.js, simplesmente substitua o componente App por "React.version". Por exemplo
Eu verifiquei isso com React v16.8.1
fonte
Para um aplicativo criado com create-react-app , consegui ver a versão:
O aplicativo foi implantado sem mapa de origem.
fonte
Em um projeto existente, uma maneira simples de ver a versão do React é ir a um
render
método de qualquer componente e adicionar:<p>{React.version}</p>
Isso pressupõe que você importou o React assim:
import React from 'react'
fonte
Primeiro instale as ferramentas de desenvolvimento React se não estiverem instaladas e, em seguida, use o código de execução abaixo no console do navegador:
fonte