dopiero zaczynam od Reactjs i pisałem prosty komponent do wyświetlania
li
tagu i natknąłem się na ten błąd:
Nieoczekiwany token „<”
Podałem przykład w jsbin poniżej http://jsbin.com/UWOquRA/1/edit?html,js,console,output
Proszę, daj mi znać, co robię źle.
AKTUALIZACJA: W React 0.12+ pragma JSX nie jest już potrzebna.
Upewnij się, że na początku plików umieszczasz pragmę JSX:
Bez tej linii
jsx
binarny i działający w przeglądarce transformator pozostawi Twoje pliki bez zmian.źródło
type="text/babel"
. Nowy wspaniały świat javascriptProblem Nieoczekiwany token „<” jest spowodowany brakiem ustawienia Babel.
Rozwiązanie: Musisz skonfigurować konfigurację pakietu internetowego w następujący sposób
tutaj .jsx sprawdza oba formaty .js i .jsx.
możesz po prostu zainstalować zależność babel za pomocą węzła w następujący sposób
Dziękuję Ci
źródło
npm install babel-preset-react
rozwiązał mój problem..babelrc
plik w projekcie"presets": ["env", "react", "es2015"]
i to wszystko !!w moim przypadku nie udało mi się dołączyć atrybutu type do tagu skryptu.
źródło
Musisz przetransponować / skompilować ten kod JSX do javascript lub użyć transformatora w przeglądarce
Spójrz na http://facebook.github.io/react/docs/getting-started.html i zwróć uwagę na
<script>
tagi, potrzebujesz tych, które są dołączone, aby JSX działał w przeglądarce.źródło
<script type="text/jsx">
znaczniku, jeśli chcesz proszę wkleić cały kod do wklejenia hastebin.orgMam ten błąd i nie mogłem go rozwiązać przez dwa dni, więc naprawa błędu jest bardzo prosta. W ciele, gdzie podłączasz swoje
script
, dodajtype="text/jsx"
i to rozwiąże problem.źródło
Oto działający przykład z twojego jsbin:
HTML:
jsx:
Uruchom ten kod z jednego pliku i Twój powinien działać.
źródło
Jeśli jesteś podobny do mnie i masz skłonność do głupich błędów, sprawdź również swój plik package.json, jeśli zawiera on ustawienia Babel:
źródło
Aby poprawnie przeanalizować tag, musisz użyć tej wersji Babel: https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js i atrybutu „type = 'text / babel'” w skrypcie. Poza tym Twój niestandardowy skrypt powinien znajdować się w tagach „body”.
źródło
jeśli weźmiemy pod uwagę twoją prawdziwą konfigurację witryny, to musisz uruchomić ReactJS w głowie
i dodaj atrybut do swojego pliku js - type = "text / babel" jak
wtedy poniższy przykład kodu zadziała:
źródło
Użyj poniższego kodu. Dodałem odniesienie do React i React DOM. Użyj ES6 / Babel, aby przekształcić swój kod JS w zwykły JavaScript. Zauważ, że metoda Render pochodzi z ReactDOM i upewnij się, że metoda renderowania ma cel określony w DOM. Czasami możesz napotkać problem polegający na tym, że metoda render () nie może znaleźć elementu docelowego. Dzieje się tak, ponieważ kod React jest wykonywany przed renderowaniem DOM. Aby temu przeciwdziałać, użyj jQuery ready () do wywołania metody render () React. W ten sposób będziesz mieć pewność, że DOM będzie renderowany jako pierwszy. Możesz również użyć atrybutu odroczenia w skrypcie aplikacji.
Kod HTML:
Kod JS:
Mam nadzieję, że to rozwiąże Twój problem. :-)
źródło
Sprawdź, czy plik .babelrc znajduje się w głównym folderze aplikacji, a nie w podfolderze. jeśli tak jest, przenieś plik do katalogu głównego.
źródło
Możesz użyć takiego kodu:
I nie zapomnij dodać
<div id='main-content'></div>
dobody
w swoimhtml
Ale w pliku package.json powinieneś użyć następujących zależności:
To działa dla mnie, ale użyłem również webpacka, z następującymi opcjami (w webpack.config.js):
źródło
W moim przypadku oprócz
babel
presetów musiałem też dodać to do mojego.eslintrc
:źródło
Właśnie
React
dzisiaj zacząłem się uczyć i miałem ten sam problem. Poniżej znajduje się kod, który napisałem.A jak widać, po użyciu ominąłem przecinek (,)
<Hello/>
. A sam błąd mówi, w której linii mamy szukać.Więc kiedy dodam przecinek przed drugim parametrem
ReactDOM.render()
funkcji, wszystko zaczęło działać dobrze.źródło
oto inny sposób, w jaki możesz to zrobić html
Plik index.js ze ścieżką src / index.js
użyj tego pakietu. json szybko uruchomi Cię
źródło
Chociaż miałem wszystkie właściwe programy ładujące Babel w moim pliku konfiguracyjnym .babelrc. Ten skrypt kompilacji z pakietem paczek generował nieoczekiwany błąd tokenu <i błędy typu MIME w konsoli przeglądarki podczas odświeżania strony podręcznika.
Zaktualizowanie skryptu kompilacji rozwiązało problemy.
źródło