gpt4 book ai didi

javascript - react 语法错误: Inline Babel script: Unterminated JSX contents

转载 作者:太空宇宙 更新时间:2023-11-04 15:49:59 25 4
gpt4 key购买 nike

我正在学习react并尝试使用hook。代码的作用是从 Ajax 获取数据,然后显示列表。但是我得到了错误:

SyntaxError: Inline Babel script: Unterminated JSX contents (53:21)
51 |
52 | ReactDOM.render(
> 53 | <MyList/>,
| ^
54 | document.getElementById('example')
55 | );
56 | when I load the index.html in browser.

这是index.html中的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="react.js"></script>
<script src="react-dom.js"></script>
<script src="jquery.js"></script>
<script src="babel.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
class MyList extends React.Component {
constructor(...args) {
super(...args);
this.state = {
loading: true,
error: null,
data: null
};
}

componentDidMount() {
const url = 'https://api.github.com/search/repositories?q=javascript&sort=stars';
$.getJSON(url)
.done(
(value) => this.setState({
loading: false,
data: value
})
).fail(
(jqXHR, textStatus) => this.setState({
loading: false,
error: jqXHR.status
})
);
}

render() {
if (this.state.loading) {
return <span>Loading...</span>;
} else if (this.state.error !== null) {
return <span>Error: {this.state.error}</span>;
} else {
var projects = this.state.data.items;
var results=[];
projects.forEach(p => {
var item=<li>{p.name}<li>;
results.push(item);
});
return (
<div>
<ul>the result list is {results}</ul>
</div>
);
}
}
};

ReactDOM.render(
<MyList/>,
document.getElementById('example')
);
</script>
</body>
</html>

如果 Ajex 调用获取数据,请将其保存到 this.state.data,然后尝试迭代它以显示其所有元素。有人可以帮忙吗?

最佳答案

我将其放入 codepen 中,并在第 36 行注意到您没有关闭 <li>标签。我通过关闭 <li> 解决了语法错误。像这样的标签</li> 。查看代码笔:http://codepen.io/justdan/pen/RpOWBz?editors=1010

var item=<li>{p.name}<li>;

尝试更改为

var item=<li>{p.name}</li>;

关于javascript - react 语法错误: Inline Babel script: Unterminated JSX contents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43217328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com