unexpected uncaught syntaxerror reactdom react example cloudfront reactjs

uncaught - Reactjs: Token inesperado ''<'' Error



uncaught syntaxerror unexpected token select2 (13)

Aquí hay un ejemplo de trabajo de su jsbin:

HTML:

<!DOCTYPE html> <html> <head> <script src="//fb.me/react-with-addons-0.9.0.js"></script> <meta charset=utf-8 /> <title>JS Bin</title> </head> <body> <div id="main-content"></div> </body> </html>

jsx:

<script type="text/jsx"> /** @jsx React.DOM */ var LikeOrNot = React.createClass({ render: function () { return ( <p>Like</p> ); } }); React.renderComponent(<LikeOrNot />, document.getElementById(''main-content'')); </script>

Ejecute este código desde un solo archivo y su debería funcionar.

Estoy empezando con Reactjs y estaba escribiendo un componente simple para mostrar
etiqueta li y se encontró con este error:

Token inesperado ''<''

He puesto el ejemplo en jsbin a continuación http://jsbin.com/UWOquRA/1/edit?html,js,console,output

Por favor, hágame saber lo que estoy haciendo mal.


El problema Token inesperado ''<'' se debe a que falta el preajuste babel.

Solución: debe configurar su configuración de paquete web de la siguiente manera

{ test ://.jsx?$/, exclude:/(node_modules|bower_components)/, loader :''babel'', query :{ presets:[''react'',''es2015''] } }

aquí .jsx comprueba los formatos .js y .jsx.

simplemente puede instalar la dependencia de Babel usando un nodo de la siguiente manera

npm install babel-preset-react

Gracias


En mi caso, además de los presets babel , también tuve que agregar esto a mi .eslintrc :

{ "extends": "react-app", ... }


Lo resolví usando type = "text / babel"

<script src="js/reactjs/main.js" type = "text/babel"></script>




Puedes usar un código como este:

import React from ''react''; import ReactDOM from ''react-dom''; var LikeOrNot = React.createClass({ displayName: ''Like'', render: function () { return ( React.createElement("li", null, "Like") ); } }); ReactDOM.render(<LikeOrNot />, document.getElementById(''main-content''));

Y no olvide agregar <div id=''main-content''></div> en el body de su html

Pero en su archivo package.json debe usar estas dependencias:

"dependencies": { ... "babel-core": "^6.18.2", "babel-preset-react": "^6.16.0", ... } "devDependencies": { ... "babel": "^6.5.2", "babel-loader": "^6.2.7", "babel-preset-es2015": "^6.18.0", "jsx-loader": "^0.13.2", ... }

Para mí funciona, pero también utilicé el paquete web, con estas opciones (en webpack.config.js):

module: { loaders: [ { test: //.jsx?$/, // Match both .js and .jsx files exclude: /node_modules/, loader: "babel-loader", query: { presets: [''es2015'', ''react''] } } ] }


Si eres como yo y propenso a errores tontos, también revisa tu paquete. Json si contiene tu preajuste de babel:

"babel": { "presets": [ "env", "react", "stage-2" ] },


Tengo este error y no pude resolver esto durante dos días. Por lo tanto, la solución del error es muy simple. En body, donde conectas tu script , agrega type="text/jsx" y esto resolverá el problema.


Usa el siguiente código He agregado una referencia a React y React DOM. Use ES6 / Babel para transformar su código JS en JavaScript vanidoso. Tenga en cuenta que el método Render proviene de ReactDOM y asegúrese de que el método de representación tenga un objetivo especificado en el DOM. En ocasiones, es posible que se encuentre con un problema por el cual el método render () no puede encontrar el elemento objetivo. Esto sucede porque el código de reacción se ejecuta antes de que se renderice DOM. Para contrarrestar esto, use jQuery ready () para llamar al método render () de React. De esta forma, estarás seguro de que DOM se representa primero. También puede usar el atributo defer en el script de su aplicación.

Código HTML:

<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>JS Bin</title> </head> <body> <div id=''main-content''></div> <script src="CDN link to/react-15.1.0.js"></script> <script src="CDN link to/react-dom-15.1.0.js"></script> </body> </html>

Código JS:

var LikeOrNot = React.createClass({ render: function () { return ( <li>Like</li> ); } }); ReactDOM.render(<LikeOrNot />, document.getElementById(''main-content''));

Espero que esto resuelva tu problema. :-)


en mi caso, no incluí el atributo de tipo en mi etiqueta de secuencia de comandos.

<script type="text/jsx">


si consideramos la configuración real de su sitio, entonces necesita ejecutar ReactJS en la cabeza

<!-- Babel ECMAScript 6 injunction --> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

y agrega un atributo a tu archivo js - type = "text / babel" como

<script src="../js/r1HeadBabel.js" type="text/babel"></script>

entonces el siguiente ejemplo de código funcionará:

ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById(''root'') );


ACTUALIZACIÓN: En React 0.12+, el pragma JSX ya no es necesario.

Asegúrese de incluir el JSX pragma en la parte superior de sus archivos:

/** @jsx React.DOM */

Sin esta línea, el transformador jsx binario y en el navegador dejará sus archivos sin cambios.