我试图在页面中显示文章,但我遇到了一些问题,需要在reactjs中封装标签。看起来React不接受相邻的相同标记如何显示表格数据?
js lang-js prettyprint-override"> render() {
return (
<div className="blogpost">
{this.state.articles.map((news, i) => {
return (
<div className="image-wrapper">
<img className="responsive-img" src="http://loremflickr.com/320/240" />
</div>
<div className="content" key={i}>
<h4>{news.tittle}</h4>
<p>{news.content}</p>
</div>
<div className="footer">
<div className="row">
<div className="footer-content">
<i className="material-icons">today</i>
<span>{this.formatDate(news.created)}</span>
</div>
<div className="footer-content">
<i className="material-icons">chat bubble outline</i>
<a href="">6</a>
</div>
</div>
</div>
<div className="read-more">
<a href="">Read more</a>
</div>
);
})};
</div>
);
};
有人知道问题出在哪里吗?
兄弟,你试试看
<> </>
这个标签像这样。。。
render() {
return(
<>
<li></li>
<li></li>
<li></li>
<li></li>
</>
);
}
在你的. map
后面缺少一个顶部包装元素。我用了
render() {
return (
<div className="blogpost">
{this.state.articles.map((news, i) => {
return (
<React.Fragment>
<div className="image-wrapper">
<img className="responsive-img" src="http://loremflickr.com/320/240" />
</div>
<div className="content" key={i}>
<h4>{news.tittle}</h4>
<p>{news.content}</p>
</div>
<div className="footer">
<div className="row">
<div className="footer-content">
<i className="material-icons">today</i>
<span>{this.formatDate(news.created)}</span>
</div>
<div className="footer-content">
<i className="material-icons">chat bubble outline</i>
<a href="">6</a>
</div>
</div>
</div>
<div className="read-more">
<a href="">Read more</a>
</div>
</React.Fragment>
);
})};
</div>
);
};
实际上,render应该返回单个根元素,所以所有内容都应该包装在一个根元素中。
例如:
如果你能做到以下几点
render() {
return(
<li></li>
<li></li>
<li></li>
<li></li>
);
}
或者
render() {
return(
<div>....</div>
<div>....</div>
<div>....</div>
<div>....</div>
);
}
你会得到相同的错误,就像在你当前的情况下(...需要包装封闭标签)。
所以您需要做的是将它们包装在一个根中。
render() {
return(
<React.Fragment>
<div>....</div>
<div>....</div>
<div>....</div>
<div>....</div>
</React.Fragment>
);
}
或
render() {
return(
<div>
<div>....</div>
<div>....</div>
<div>....</div>
<div>....</div>
</div>
);
}
FY:对于类似的兄弟姐妹,你还需要考虑独特的钥匙…
这也将有助于:https://reactjs.org/docs/fragments.html
我一直在尝试将一个html网站移植到Gatsbyjs并做出反应。在构建header Comparement时,我在带有的行中得到一个错误“相邻的JSX元素必须包装在一个封闭的标记中”。我想不出这个问题,请你帮忙。我使用有状态组件构建它的原因是,稍后我将向它添加一些额外的功能。 这是我的代码:
我为代码的质量提前道歉。当我尝试将html代码放入gatsby.js项目的index.js页面中时,我遇到以下错误: ./src/components/section3.js模块构建失败时出错(来自./node_modules/gatsby/dist/utils/babel loader.js):SyntaxError:/path/src/components/section3.js:相邻的JSX
我有以下返回语句,即给出错误任何想法是错误的?
相邻的JSX元素必须包装在一个封闭的标记reactjs中 我的代码有什么问题?? 错误代码调用如下: 相邻的JSX元素必须包装在一个封闭的标记中 代码在元素标记中出错
我试图打印道具的反应组件,但得到一个错误。请帮助: 片段: 我在等“你好,亲爱的!”然后下一行是“蓝色”。但是,我得到了这个错误。 错误:
我有下面的代码是react.js这是抛出一个错误 “相邻的JSX元素必须包装在一个封闭的标记中”。看起来React不接受相邻的相同标记如何显示表格数据?