2 回答

TA贡献1775条经验 获得超8个赞
如果要访问嵌套对象的多个属性,则应检查所有内容,如下所示
<View> // Checking everthing so it never throws an error
{props.enclosures && props.enclosures[0] && props.enclosures[0].url ?
<Image source={{uri:props.enclosures[0].url}} style={styles.mainPhoto} />
:
<Text>No Image</Text>
}
</View>

TA贡献1859条经验 获得超6个赞
为了防止未定义错误,您还可以使用Ramda 库中的路径。它允许您安全地访问任何嵌套的对象/数组。
const MyComponent = (props) => {
const apiImage = path(["enclosures", 0, "url"], props);
return {
<View>
{apiImage ?
<Image source={{uri:apiImage}} style={styles.mainPhoto} />
:
<Text>No Image</Text>
}
</View>
}
}
添加回答
举报