javascript - 在 kebab 情况下访问 JSON 字段(例如 some-value)
问题描述
在使用 API 时,我无法在 React Native 中访问 kebab case 中的字段(例如一些值)。
在其他请求中,以下方法有效
端点返回:
data: {
attributes: {
avatar-medium:"/images/medium/work-missing.png",
company-avatar:"/images/thumb/professional-missing.png",
company-name:"Company Name"
}
}
访问 kebab case 字段:
const {
'avatar-medium': avatarMedium,
'company-avatar': companyAvatar,
'company-name': companyName
} = this.props.data.attributes;
这行得通,但是在下面这个特定的 JSON 中,使用相同的解决方案会返回错误:
端点返回:
data: {
relationships: professional-company-address {
data: {…}
}
}
访问 kebab 大小写字段(错误):
const {
'professional-company-address': companyAddress
} = this.props.data.relationships;
错误:
TypeError:无法读取未定义的属性“专业公司地址”
什么是难以理解的,因为返回
console.log(this.props.data.relationships)
是
professional-company-address {
data: {…}
}
解决方案
这是一个同步问题,因为在完成请求之前字段是空的
解决了:
if (this.props.data.length !== 0) {
console.log(this.props.data.relationships['professional-company-address']);
}
推荐阅读
- ionic-framework - Chartjs 和 ionic
- r - 使用 lapply 绘制标题
- quickblox-android - 在 android-Quickblox 中检查两个用户之间是否存在对话框
- .net - 为什么应用程序会使用 CSC.EXE?
- javascript - 如何使用 axios "Content-Type": "application/x-www-form-urlencoded" 发送 Ints 数组
- php - 如何通过从我的数据库中选择不同的 patient_id 并在其上绘制图表来绘制数据?
- maven - 带有阴影的 JavaFX 构建,位置是必需的。它在看哪里?
- java - 根据文本量更改文本编辑的高度
- typescript - 如何修复有关命名空间的 ts lint 错误?
- javascript - 任意图表中的附加或独立 xAxis