Estou apenas começando com Reactjs e estava escrevendo um componente simples para exibir a
li
tag e me deparei com este erro:
Token inesperado '<'
Coloquei o exemplo em jsbin abaixo de http://jsbin.com/UWOquRA/1/edit?html,js,console,output
Por favor, deixe-me saber o que estou fazendo de errado.
ATUALIZAÇÃO: No React 0.12+, o pragma JSX não é mais necessário.
Certifique-se de incluir o pragma JSX na parte superior de seus arquivos:
Sem esta linha, o
jsx
binário e o transformador no navegador deixarão seus arquivos inalterados.fonte
type="text/babel"
. Admirável mundo novo de javascriptO problema de token inesperado '<' é devido à falta da predefinição de babel.
Solução: Você deve definir a configuração do seu webpack da seguinte forma
aqui .jsx verifica os formatos .js e .jsx.
você pode simplesmente instalar a dependência do babel usando o node como segue
Obrigado
fonte
npm install babel-preset-react
resolveu meu problema..babelrc
arquivo no projeto é só"presets": ["env", "react", "es2015"]
e pronto !!no meu caso, não incluí o atributo type na minha tag de script.
fonte
Você precisa transpilar / compilar esse código JSX para javascript ou usar o transformador no navegador
Veja http://facebook.github.io/react/docs/getting-started.html e anote as
<script>
tags, você precisa delas incluídas para que o JSX funcione no navegador.fonte
<script type="text/jsx">
tag, se quiser, cole todo o código em uma pasta hastebin.orgEu tenho esse erro e não consegui resolver por dois dias. Portanto, a correção do erro é muito simples. No corpo, onde você conecta o seu
script
, adicionetype="text/jsx"
e isso resolverá o problema.fonte
Aqui está um exemplo prático do seu jsbin:
HTML:
jsx:
Execute este código a partir de um único arquivo e ele deve funcionar.
fonte
Se você é como eu e está sujeito a erros bobos, verifique também se o seu package.json contém a sua predefinição do babel:
fonte
Para a análise correta da tag, você precisará usar esta versão do babel: https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js e o atributo "type = 'text / babel'" no script. Além disso, seu script personalizado deve estar dentro de tags "body".
fonte
se considerarmos a configuração do seu site real, você precisará executar o ReactJS na cabeça
e adicione o atributo ao seu arquivo js - type = "text / babel" como
então o exemplo de código abaixo funcionará:
fonte
Use o seguinte código. Eu adicionei referências a React e React DOM. Use ES6 / Babel para transformar seu código JS em JavaScript vanilla. Observe que o método Render vem do ReactDOM e certifique-se de que o método render tenha um destino especificado no DOM. Às vezes, você pode enfrentar o problema de que o método render () não consegue encontrar o elemento de destino. Isso acontece porque o código de reação é executado antes da renderização do DOM. Para combater isso, use jQuery ready () para chamar o método render () do React. Dessa forma, você terá certeza de que o DOM será renderizado primeiro. Você também pode usar o atributo defer em seu script de aplicativo.
Código HTML:
Código JS:
Espero que isso resolva seu problema. :-)
fonte
Verifique se .babelrc está dentro da pasta raiz do aplicativo, não dentro de uma subpasta. se for esse o caso, mova o arquivo para a raiz.
fonte
Você pode usar um código como este:
E não se esqueça add
<div id='main-content'></div>
nabody
suahtml
Mas em seu arquivo package.json, você deve usar estas dependências:
Funciona para mim, mas também usei o webpack, com estas opções (em webpack.config.js):
fonte
No meu caso, além das
babel
predefinições, também tive que adicionar isto ao meu.eslintrc
:fonte
Comecei a aprender
React
hoje e estava enfrentando o mesmo problema. Abaixo está o código que escrevi.E como você pode ver, perdi uma vírgula (,) depois de usar
<Hello/>
. E o próprio erro está dizendo em qual linha devemos olhar.Assim, depois de adicionar uma vírgula antes do segundo parâmetro da
ReactDOM.render()
função, tudo começou a funcionar bem.fonte
aqui está outra maneira de fazer isso html
arquivo index.js com caminho src / index.js
use este package.json para colocá-lo em funcionamento rapidamente
fonte
Embora eu tivesse todos os carregadores de babel adequados em meu arquivo de configuração .babelrc. Este script de construção com parcel-bundler estava produzindo o erro inesperado de token <e erros de tipo mime no console do navegador para mim na atualização da página manual.
Atualizar o script de construção corrigiu os problemas para mim.
fonte