Je commence juste avec Reactjs et j'écrivais un composant simple pour afficher la
li
balise et suis
tombé sur cette erreur:
Jeton inattendu '<'
J'ai mis l'exemple à jsbin ci-dessous http://jsbin.com/UWOquRA/1/edit?html,js,console,output
S'il vous plaît laissez-moi savoir ce que je fais mal.
MISE À JOUR: Dans React 0.12+, le pragma JSX n'est plus nécessaire.
Assurez-vous d'inclure le pragma JSX en haut de vos fichiers:
Sans cette ligne, le
jsx
transformateur binaire et intégré au navigateur laissera vos fichiers inchangés.la source
type="text/babel"
. Brave new world of javascriptLe problème jeton inattendu '<' est dû à l'absence du préréglage Babel.
Solution: vous devez configurer votre configuration Webpack comme suit
ici .jsx vérifie les formats .js et .jsx.
vous pouvez simplement installer la dépendance babel en utilisant node comme suit
Je vous remercie
la source
npm install babel-preset-react
résolu mon problème..babelrc
juste un fichier dans le projet"presets": ["env", "react", "es2015"]
et c'est tout !!dans mon cas, je n'avais pas réussi à inclure l'attribut type sur ma balise de script.
la source
Vous devez soit transpiler / compiler ce code JSX en javascript, soit utiliser le transformateur intégré au navigateur
Regardez http://facebook.github.io/react/docs/getting-started.html et notez les
<script>
balises, vous avez besoin de celles incluses pour que JSX fonctionne dans le navigateur.la source
<script type="text/jsx">
balise, si vous voulez, veuillez coller tout votre code dans une pâteJ'ai cette erreur et je n'ai pas pu résoudre cela pendant deux jours.La correction d'erreur est donc très simple. Dans le corps, où vous connectez votre
script
, ajouteztype="text/jsx"
et cela résoudra le problème.la source
Voici un exemple de travail de votre jsbin:
HTML:
jsx:
Exécutez ce code à partir d'un seul fichier et cela devrait fonctionner.
la source
Si vous êtes comme moi et sujet à des erreurs stupides, vérifiez également votre package.json s'il contient votre preset babel:
la source
Pour une analyse correcte des balises, vous devrez utiliser cette version de babel: https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js et l'attribut "type = 'text / babel'" dans le script. En outre, votre script personnalisé doit être dans les balises "body".
la source
si nous considérons la configuration de votre site réel, vous devez exécuter ReactJS dans la tête
et ajoutez un attribut à votre fichier js - type = "text / babel" comme
alors l'exemple de code ci-dessous fonctionnera:
la source
Utilisez le code suivant. J'ai ajouté une référence à React et React DOM. Utilisez ES6 / Babel pour transformer votre code JS en JavaScript vanille. Notez que la méthode Render provient de ReactDOM et assurez-vous que cette méthode de rendu a une cible spécifiée dans le DOM. Parfois, vous pouvez rencontrer un problème en raison du fait que la méthode render () ne peut pas trouver l'élément cible. Cela se produit car le code de réaction est exécuté avant le rendu du DOM. Pour contrer cela, utilisez jQuery ready () pour appeler la méthode render () de React. De cette façon, vous serez sûr que le DOM sera rendu en premier. Vous pouvez également utiliser l'attribut defer sur votre script d'application.
Code HTML:
Code JS:
J'espère que cela résout votre problème. :-)
la source
Vérifiez si .babelrc se trouve dans le dossier racine de votre application, pas dans un sous-dossier. si tel est le cas, déplacez le fichier vers la racine.
la source
Vous pouvez utiliser un code comme celui-ci:
Et n'oubliez pas d'ajouter
<div id='main-content'></div>
dansbody
votrehtml
Mais dans votre fichier package.json, vous devez utiliser ces dépendances:
Cela fonctionne pour moi mais j'ai également utilisé webpack, avec ces options (dans webpack.config.js):
la source
Dans mon cas, en plus des
babel
préréglages, j'ai également dû ajouter ceci à mon.eslintrc
:la source
J'ai juste commencé à apprendre
React
aujourd'hui et je faisais face au même problème. Voici le code que j'avais écrit.Et comme vous pouvez le voir, j'avais manqué une virgule (,) après l'avoir utilisé
<Hello/>
. Et l'erreur elle-même indique sur quelle ligne nous devons regarder.Donc, une fois que j'ai ajouté une virgule avant le deuxième paramètre de la
ReactDOM.render()
fonction, tout a commencé à fonctionner correctement.la source
voici une autre façon de le faire html
fichier index.js avec le chemin src / index.js
utilisez ce package.json vous permettra de démarrer rapidement
la source
Cependant, j'avais tous les chargeurs babel appropriés dans mon fichier de configuration .babelrc. Ce script de construction avec parcel-bundler produisait l'erreur de jeton inattendue <et les erreurs de type mime dans la console du navigateur pour moi lors de l'actualisation manuelle de la page.
La mise à jour du script de construction a résolu les problèmes pour moi.
la source