我是React的初学者,我尝试做一个" Camper Leader Board"来自FreeCodeCamp的项目。
在StackOverflow代码片段中,它抛出了我:
`" message":" SyntaxError:内联Babel脚本:预期的相应JSX结束标记
请帮我找出问题所在。这是代码:
"use strict";
class TableBox extends React.Component {
constructor(props) {
super(props);
this.state = {
data: []
};
}
loadCampersFromServer() {
fetch('https://fcctop100.herokuapp.com/api/fccusers/top/alltime')//alltime or recent
.then(
(response) => {
if (response.status !== 200) {
console.log('Looks like there was a problem. Status Code: ${response.status}');
return;
}
response.json().then((data) => {
console.log('getting data:', data);
this.setState({data: data});
})
}
)
.catch(function (err) {
console.log('Fetch Error :-S', err);
});
}
componentDidMount() {
this.loadCampersFromServer();
}
render() {
return <CampersList />;
}
}
class CampersList extends React.Component {
constructor(props) {
super(props);
}
render() {
console.log(this.state);
let campersNodes = this.state.data.map((element, index) => {
return (
<Camper user={element} index={index} />
);
});
return (
<table>
<tr>
<th>#</th>
<th>Camper Name</th>
<th>Points in past 30 days</th>
<th>All time points </th>
</tr>
{campersNodes}
</table>
)
}
}
class Camper extends React.Component{
constructor(props){
super(props);
}
render(){
<tr>
<td>{this.props.index}</td>
<td>
<img src = {this.props.user.img} alt="logo">
{this.props.user.userName}
</td>
<td>{this.props.user.recent}</td>
<td>{this.props.user.alltime}</td>
</tr>
}
}
ReactDOM.render(<TableBox />, document.getElementById('root'));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
&#13;
答案 0 :(得分:9)
您需要关闭ClassOne
代码并关闭img
:
/>
在正确关闭标签时,JSX并不像HTML那么宽松。
答案 1 :(得分:1)
编译器返回的消息告诉你img元素没有结束标记。 JSX与html不同。
答案 2 :(得分:0)
由于错误解释本身,您需要关闭露营组件中的图像标记。
<td>
<img src = {this.props.user.img} alt="logo" />{this.props.user.userName}
</td >
这应该有用。
答案 3 :(得分:0)
这对我在 node 中构建 Gatsby/React/Bootstrap 项目时收到的 JSX 错误有效
RecyclerView