【问题标题】:map is undefined if object is undefined如果对象未定义,则地图未定义
【发布时间】:2017-12-28 09:15:25
【问题描述】:

我的 jsx 中有这个

{get(applicant, 'user.name').map((obj,i) => <span>{obj}</span>}

如果 user.name 不存在,我的应用程序会崩溃,为什么 get 不能解决这里的问题?这是 lodash 得到的。

如果我这样做,application.user.name.map 我的应用程序将有机会崩溃。

【问题讨论】:

标签: javascript reactjs ecmascript-6 lodash


【解决方案1】:

如果路径不存在,Lodash _.get 返回 undefined。结果undefined.map 抛出错误。您应该将[] 作为第三个参数传递,在这种情况下,如果路径不存在_.get 返回[] 并且[].map 不会引发错误:

{get(applicant, 'user.name', []).map((obj,i) => <span>{obj}</span>}

【讨论】:

  • 这很奇怪。当.map 在空数组上执行时,传递给.map 的函数永远不会被调用。看看这个例子——jsfiddle.net/levvsha/g9zcg18v你能粘贴你的完整代码和完整的错误文本吗?
猜你喜欢
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
  • 2021-12-04
  • 2016-10-01
  • 2022-01-24
相关资源
最近更新 更多