【问题标题】:Cant get this simple function to return anything不能让这个简单的函数返回任何东西
【发布时间】:2018-05-12 22:14:43
【问题描述】:

我只是想格式化这个列表,目前该函数接受逗号分隔列表的技能

skills = Mobile, iOS (Swift,Objective C), Android (Java), JavaScript, React, Data processing, GIS, Cartography, Web, Design/UI/UX

skills_array = ["Mobile", " iOS (Swift", "Objective C)", " Android (Java)", " JavaScript", " React", " Data processing", " GIS", " Cartography", " Web", " Design/UI/UX"]

我不知道为什么这个函数没有返回任何东西

formatSkills(skills) {

     let skills_array = skills.split(',')
     skills_array.map(skill => {
     return <li>skill</li>
     })
  }

看起来很简单,所以不确定我可能会错过什么

【问题讨论】:

  • 因为你不是returning 任何来自外部函数的东西。做return skills_array.map...(另外,使用正确的语法将变量包装在字符串中)
  • 这是 JSX 吗?如果是,请添加标签。

标签: javascript reactjs ecmascript-6 jsx


【解决方案1】:

你有两个功能。您的 map 函数正在返回 &lt;li&gt;..&lt;/li&gt;,而您的 formatSkills 函数现在没有返回任何内容。将 return 添加到 map 调用的结果中,以从函数中返回它。

formatSkills(skills) {
   let skills_array = skills.split(',')
   return skills_array.map(skill => {
     return <li>skill</li>
   });
}

【讨论】:

  • 谢谢,这有效,不知道为什么有人投票给你
  • 不是downvoter,但这可能是因为返回的字符串周围缺少引号,或者缺少(我知道它们是可选的)分号。
  • @DavidThomas 我认为它是 jsx 所以不引用返回的字符串是有效的
猜你喜欢
  • 2020-05-13
  • 2019-04-15
  • 2023-02-07
  • 2016-11-10
  • 2019-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多