繁体   English   中英

如何在Rails关联模型中映射嵌套对象以做出反应?

[英]How to map a nested object in react in a rails associated models?

设置带有很多评论的简单帖子模型后,如何通过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>

                  );

                });

以下两个选项中的任何一个都可以为您工作。 您必须对嵌套数组进行条件检查并添加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>
            ));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM