所以,我有一个像这样的json对象:
[
{
"stock": 13,
"update_stamp": "2017-05-22T20:19:21Z",
"article": {
"sku": "0761523",
"bar_code": "000-111111011",
"category": null,
"internal_code": "11"
}
},
{
"stock": 3,
"update_stamp": "2017-05-22T19:38:03Z",
"article": {
"sku": "715491",
"bar_code": "000-111111012",
"category": null,
"internal_code": "12"
}
}
]
当我尝试在renderRow函数中访问article.sku时,我在逻辑上发生的事情是这样做:
_renderRow(obj: Obj) {
return(
<View style={styles.article}>
<Text numberOfLines={1} style={styles.articleText}>
{obj.article.sku}
</Text>
</View>
)
}
但我得到错误:
undefined is not an object (evaluating 'obj.article.sku')
当我写这样的东西时:
_renderRow(obj: Obj) {
return(
<View style={styles.article}>
<Text numberOfLines={1} style={styles.articleText}>
{obj.stock}
</Text>
</View>
)
}
完美无缺。
我遗失的任何东西?
答案 0 :(得分:0)
所以对我来说,听起来obj是你对每个json对象的期望。我认为你应该打印obj,看看它是什么,以便更好地了解你正在处理的事情。
我认为,鉴于你所呈现的内容,obj并非空洞。它可能是一个对象,这就是为什么你能用obj.stock这样访问它的原因。但是,也许你的一个对象是&#39;文章值为null或者关键是不存在。因此,当你执行obj.article时,它将返回null,并且你操作sku就会产生一个非法操作的null.sku。