Я пытаюсь отобразить кнопку в React , используя совершенно правильный JSX (по крайней мере, насколько я могу судить после просмотра в течение 20 минут). Но по какой-то причине я продолжаю получать синтаксическую ошибку:
Неожиданный токен '<' в строке 18 </p>
Это становится сюрпризом для меня, учитывая, когда я загружаю скрипт Я использую атрибут типа text/babel
, и сценарий babel загружается в <head>
, а этот загружается в DOM.
Вот что у меня HTML выглядит так:
<head>
<!-- react, react-dom, axios etc. go here !-->
<script crossorigin src="https://unpkg.com/babel-standalone@6.26.0/babel.min.js"></script>
</head>
<body>
<div id="content"></div>
<!-- notice that i'm using babel !-->
<script type="text/babel" src="cdn/static/scripts/module/user.js">
</body>
А вот мой JavaScript:
class User extends Component{
constructor(props){
super();
this.user = props.user;
this.state = {
modalOpen: false
};
}
Button = () => {
let user = this.user;
// vvvv this is what the error points to
return <button className={(user.loggedIn ? "user" : "sign-in")}>{(user.loggedIn ? user.public.display : "Sign In")}</button>;
}
render(){
return (
<div className="button">
<this.Button />
</div>
);
}
}
ReactDOM.render(<User user={window.User} />, document.getElementById("content"));
Что еще более странно, так это то, что он фактически отображает button
, но из-за ошибки это также приведет к поломке остальной части моего JavaScript.
Я никогда раньше не сталкивался с этой проблемой, так что вся помощь приветствуется, ура.