reactjs - 渲染映射()中的“x.[PropertyName] 不是函数”?
问题描述
我在 React 组件中的相关 tr 组之后添加了一个间隔 tr。我正在通过 map() 函数渲染行。我已向名为 IsLastItem 的集合中的最后一项添加了一个属性。我试图通过在 map() 末尾使用保护条件来防止 map() 函数在集合中的最后一项之后写出间隔行,如下所示:
{ y && {!y.IsLastItem} (
<tr>
<td colSpan={4} style={{height:25}}></td>
</tr>
)}
但是,此实现会引发以下运行时错误:
y.IsLastItem 不是函数
我已经验证 IsLastItem 属性确实存在于集合中的最后一项上。即使最后一项上不存在 IsLastItem 属性,似乎也不应该出现任何运行时错误,因为 undefined 只会简单地评估为 false。知道我在这段代码中可能做错了什么吗?
解决方案
您正在使用用于函数的花括号。这就是为什么它具有误导性。你需要这样做:
{ y && y.IsLastItem && (
<tr>
<td colSpan={4} style={{height:25}}></td>
</tr>
)}
希望这对你有用。
推荐阅读
- android - Kotlin,警报管理器不触发
- javascript - 如何使用 JavaScript 更改对象中的项目以替换 Firebase 不接受的特殊字符
- android - 如何从 SQLite 数据库中检索声音?
- mysql - MySQL:计算列中的宽度日期
- javascript - NodeJs Express - 如何返回 HTTP 错误代码 (400,401,500) 和 JSON 对象
- javascript - jQuery 读取 .txt 文件但获取特定数据
- python - 使用 PyMC3 运行贝叶斯伽马回归的难度
- swift - 使用 Alamofire 随机获取 NSURLErrorDomain Code = -1206
- node.js - webpack 错误:自定义关键字定义无效:数据/错误应该是布尔值
- angular - 对象复制问题