javascript - React Native 防止 undefined object

标签 javascript reactjs react-native

我正在从 API 获取数据,以根据 API 值显示图像。如果对象中有图像,则以下代码可以完美运行。如果 API 项目没有图像,则应用程序会抛出“未定义不是对象”错误。

<View>
 <Image source={{uri:props.enclosures[0].url}} style={styles.mainPhoto} />
</View>

我已尝试使用以下代码首先检查该值是否存在,但如果 API 项没有图像,它仍然会抛出完全相同的错误。

<View>
{props.enclosures[0].url ?
 <Image source={{uri:props.enclosures[0].url}} style={styles.mainPhoto} />
 :
 <Text>No Image</Text>
}
</View>

最佳答案

如果要访问嵌套对象的多个属性,则应该检查所有内容,如下所示

<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>

关于javascript - React Native 防止 undefined object ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58545984/

相关文章:

javascript - 如何使用 Javascript 将一个 HTML 标签放入另一个 HTML 标签

forms - 在兄弟组件 Reactjs 中调用函数

javascript - 尝试在前端显示图像(使用react native,nodejs和amazon s3)

javascript - 放大子元素 PixiJS

javascript - 无法从 Node 向 mysql 表添加值

javascript - Wordpress - Javascript Toggle Div 元素显示样式

node.js - 如何将文件数组发送到express后端

javascript - react 改变输入值 onChange

javascript - ToolBarAndroid 未在 React Native 中呈现

ios - React-Native : Unnecessary permissions needed for App submission to App store