首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ReactJS中带有内联映射的语法错误/jshint

ReactJS中带有内联映射的语法错误/jshint
EN

Stack Overflow用户
提问于 2019-03-05 08:30:01
回答 2查看 30关注 0票数 1

这是我的代码,它产生了一个“期望的赋值或函数调用,却看到了一个表达式”的错误。我个人没有看到任何错误,我的prettify照常工作。我相信是JSHINT在这里召唤我:

代码语言:javascript
复制
render() {
return (
  <div id="animalGallery">
    {this.props.displayData.map(eachProfilePic => {
      this.state.selected === eachProfilePic.iconID ? (
        <a
          class="animal selected"
          onClick={() => this.profilePicClick(eachProfilePic.iconID)}
        >
          <img src={eachProfilePic.iconID} />
        </a>
      ) : (
        <a
          class="animal"
          onClick={() => this.profilePicClick(eachProfilePic.iconID)}
        >
          <img src={eachProfilePic.iconID} />
        </a>
      );
    })}
  </div>
);}

它在我的代码的第四行调用这个错误,它看起来有什么错误吗?如果没有,有没有其他方法可以在不触发JSHINT的情况下编写此代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-05 08:33:09

您需要添加return或删除{} (或将其替换为())。当您在lambda周围使用{}时,它期望返回一个完整的函数体,而不仅仅是一个表达式。

票数 2
EN

Stack Overflow用户

发布于 2019-03-05 08:45:57

以下是采用Joseph的答案后的正确代码:去掉括号后:

代码语言:javascript
复制
render() {
return (
  <div id="animalGallery">
    {this.props.displayData.map(eachProfilePic =>
      this.state.selected === eachProfilePic.iconID ? (
        <a
          class="animal selected"
          onClick={() => this.profilePicClick(eachProfilePic.iconID)}
        >
          <img src={eachProfilePic.iconID} />
        </a>
      ) : (
        <a
          class="animal"
          onClick={() => this.profilePicClick(eachProfilePic.iconID)}
        >
          <img src={eachProfilePic.iconID} />
        </a>
      )
    )}
  </div>
);
}

否则,我们可以选择添加return:

代码语言:javascript
复制
render() {
return (
  <div id="animalGallery">
    {this.props.displayData.map(eachProfilePic => {
      return this.state.selected === eachProfilePic.iconID ? (
        <a
          class="animal selected"
          onClick={() => this.profilePicClick(eachProfilePic.iconID)}
        >
          <img src={eachProfilePic.iconID} />
        </a>
      ) : (
        <a
          class="animal"
          onClick={() => this.profilePicClick(eachProfilePic.iconID)}
        >
          <img src={eachProfilePic.iconID} />
        </a>
      );
    })}
  </div>
);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54993680

复制
相关文章

相似问题

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