在设置带有很多评论的简单帖子模型后,用react获得帖子评论的最佳方法是什么?
例如在rails中,循环将是:
<ul>
<%= @post.comments.each do |c| %>
<li><%= c.title %></li>
<% end %>
</ul>
在反应中映射是等效的,但是在这种情况下,来自对象的映射仍然会造成混淆。
var comments = this.state.comments.map(c => {
return (
<div key={comment.id}>
<ul >
<li>{comment.title}</li>
</ul>
</div>
);
});
所以我已经尝试过了,但是按预期没有效果。因此,有人对React上的地图嵌套数组有任何暗示吗?
var post = this.state.post.map(p => {
return (
<div key={comment.id}>
p.comments.map(c => {
<div key={ct.id}></div>
});
</div>
);
});
答案 0 :(得分:0)
以下两个选项中的任何一个都可以为您服务。您必须对嵌套数组进行条件检查并添加return。
.map下面与return配合使用
const postItems = this.state.post && this.state.post.map(p => {
return (
<div key={comment.id}>
if(p.comments){
p.comments.map(c => {
return <div key={ct.id}></div>
});
}
</div>
);
});
或者.map不能返回
const postItems = this.state.post && this.state.post.map(p => (
<div key={comment.id}>
if(p.comments){
p.comments.map(c => (
<div key={ct.id}></div>
));
}
</div>
));