首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修正“预期将返回箭头函数末尾的值”警告?

如何修正“预期将返回箭头函数末尾的值”警告?
EN

Stack Overflow用户
提问于 2017-07-10 14:02:20
回答 7查看 201.2K关注 0票数 112

一切正常,但我有一个警告Expected to return a value at the end of arrow function array-callback-return。我尝试使用forEach而不是map,但是<CommentItem />甚至没有出现。我该怎么解决这个问题?

代码语言:javascript
复制
  return this.props.comments.map((comment) => {
  
      if (comment.hasComments === true) {
      
        return (
          <div key={comment.id}>
          
            <CommentItem className="MainComment"/>

              {this.props.comments.map(commentReply => {
              
                if (commentReply.replyTo === comment.id) { 
                  return (
                    <CommentItem className="SubComment"/>
                 ) // return
                } // if-statement
              }) // map-function
              } // map-function __begin
            
          </div> // comment.id
          
        ) // return

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2017-07-10 14:07:04

警告表明,在所有情况下,您都不会在地图箭头函数的末尾返回某些内容。

一种更好的方法是首先使用.filter,然后使用.map,如下所示:

代码语言:javascript
复制
this.props.comments
  .filter(commentReply => commentReply.replyTo === comment.id)
  .map((commentReply, idx) => <CommentItem key={idx} className="SubComment"/>);
票数 113
EN

Stack Overflow用户

发布于 2018-01-14 01:27:13

map()创建一个数组,因此所有代码路径(if/else)都需要一个return

如果您不想要数组或返回数据,请使用forEach

票数 198
EN

Stack Overflow用户

发布于 2019-07-26 21:50:35

最简单的方法只有,如果您不需要返回一些东西--它不是只返回return null

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45014094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档