ReactJS语法错误
因此,我不熟悉使用ReactJS,并不断遇到以下错误:ReactJS语法错误,reactjs,babeljs,serverless,Reactjs,Babeljs,Serverless,因此,我不熟悉使用ReactJS,并不断遇到以下错误: wrap — babel.js:4848SyntaxError: Inline Babel script: Unexpected token, expected { (17:8) 15 | 16 | buttonClicked() > 17 | render() { | ^ 18 | 19 | let msg = this.state.m
wrap — babel.js:4848SyntaxError: Inline Babel script: Unexpected token, expected { (17:8)
15 |
16 | buttonClicked()
> 17 | render() {
| ^
18 |
19 | let msg = this.state.message;
20 |
谁能告诉我我做错了什么吗?谢谢你的回复,到目前为止!这是我的完整代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>React Demo</title>
<style media="screen">
.messageBox {
border: 1px solid;
margin: 1em;
padding: 2em;
}
.error {
border-color: red;
background-color: #eebbbb;
}
.success {
border-color: blue;
background-color: #bbbbee;
}
.hidden {
display: none
}
</style>
</head>
<body>
<main id="content"></main>
<script src="https://unpkg.com/babel-standalone"></script>
<script type="text/javascript" src="https://unpkg.com/react@16.0.0/umd/react.production.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/react-dom@16.0.0/umd/react-dom.production.min.js "></script>
<script type="text/babel" data-presets="react">
class NameInput extends React.Component {
constructor(props) {
super(props);
this.state = {
message: {
type: "success",
body: "Now my message is in NameInput's state"
}
}
this.buttonClicked = this.buttonClicked.bind(this);
}
buttonClicked(evt) {
}
render() {
let msg = this.state.message;
return (
<div>
<label>Name: <input type="text" /></label>
<button onClick={this.buttonClicked}>Click me!</button>
<MessageBox type={msg.type} message={msg.body}/>
</div>
)
}
}
class MessageBox extends React.Component {
render() {
return (
<div className={"messageBox " + (this.props.type || "hidden")}
{this.props.message}
</div>
)
}
}
ReactDOM.render(<NameInput />, document.getElementById('content'));
</script>
</body>
</html>
反应演示
.messageBox{
边框:1px实心;
边缘:1米;
填料:2米;
}
.错误{
边框颜色:红色;
背景色:#eebbbb;
}
.成功{
边框颜色:蓝色;
背景色:#bbbbee;
}
.隐藏{
显示:无
}
类NameInput扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
信息:{
键入:“成功”,
正文:“现在我的邮件处于NameInput的状态”
}
}
this.buttonClicked=this.buttonClicked.bind(this);
}
按钮锁定(evt){
}
render(){
让msg=this.state.message;
返回(
姓名:
点击我!
)
}
}
类MessageBox扩展了React.Component{
render(){
返回(
希望您的HTML文件如下所示:
<html>
<head>
<title>demo</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
</head>
<body>
<div id="container"/></div>
<script type="text/babel">
class MessageBox extends React.Component {
constructor(props){
super(props);
}
render() {
return (
<div>
<div className={`messageBox ${this.props.type} || hidden`}>
{this.props.message}
</div>
</div>
);
}
}
class NameInput extends React.Component {
constructor(props) {
super(props);
this.state = {
message: {
type: "success",
body: "Now my message is in NameInput's state"
}
}
this.buttonClicked = this.buttonClicked.bind(this);
}
buttonClicked(evt) {
alert("hi");
}
render() {
let msg = this.state.message;
return (
<div>
<label>Name: <input type="text" /></label>
<button onClick={this.buttonClicked}>Click me!</button>
<MessageBox type={msg.type} message={msg.body}/>
</div>
)
}
}
ReactDOM.render(
<NameInput />,
document.getElementById('container')
);
</script>
演示
类MessageBox扩展了React.Component{
建造师(道具){
超级(道具);
}
render(){
返回(
{this.props.message}
);
}
}
类NameInput扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
信息:{
键入:“成功”,
正文:“现在我的邮件处于NameInput的状态”
}
}
this.buttonClicked=this.buttonClicked.bind(this);
}
按钮锁定(evt){
警报(“hi”);
}
render(){
让msg=this.state.message;
返回(
姓名:
点击我!
)
}
}
ReactDOM.render(
,
document.getElementById('容器')
);
请发布您的代码。发布至少一条Competite错误消息以获得更好的帮助和社区的快速响应这是我的完整代码:当我尝试启动react.html时,它总是出现空白。这是在做出您建议的更改之后。很抱歉,很烦人,我只是觉得我遇到了一些问题我错过了所有这些。你检查了工作演示了吗?这对我来说很好,因为它是你的代码,我只做了很少的更改。我想,你在html中使用巴贝尔,确保你有各自的cdn加载,如react,reactdom,babelupdated我的答案,希望你做的事情与我一样。非常感谢你Jayavel!我是把我的代码和你的代码放在一起,它就完美地工作了。不可否认,我不是一名程序员,我正在努力成为一名AWS SA,并开始从事一个无服务器项目,以展示我对各种AWS服务的使用。如果你有空,你能解释一下为什么我的代码与你编译的代码不正确吗?你错过了一个接近的标签,而我使用了es6吗此处为模板文本。如果有帮助,请将其标记为已接受。