javascript - 如何使用javascript修复类型never []的错误属性不存在?
问题描述
我有如下数据,
{main: {}}
在 main 我有如下的对象数据
main {
id: '1',
main_1: [
{
id: '1',
main_2: [
{
id: '1',
data: [
{ //want to retrieve this
id: '1',
version: '1.1',
}
]
},
{
id: '2',
data: [
{
id: '2',
version: '1.1',
}
]
}
]
},
{
id: '2',
main_2: [
{
id: '3',
data: [
{
id: '3',
version: '1.1',
}
]
},
{
id: '4',
data: [
{
id: '4',
version: '1.1',
}
]
}
]
}
]
}
从上面的数据对象可以看出,我想检索第一个 main_1 并获取它的第一个 main_2 并获取第一个 main_2 数据。
我试图使用如下代码,
function Parent() {
const main = get(data, 'main');
const main_1 = main && main.main_1 ? main.main_1 : [];
const first_main_2 = main_1 && main_1[0] && main_1[0].main_2[0] ?
main_1[0].main_2[0] : [];
const data = first_main_2 && first_main_2.data; // error here property data
//doesnt exist on type never[]
const version =
(first_main_2 &&
data &&
data.find(
(item: itemVersion) => item.id === data.id //error here
//property id doesnt exist on type never[]
)) || {};
return (
<span>{getSomeFunction(version.version)}</span>
);
}
上面的代码给了我如下错误
类型 never[] 上不存在属性数据。类型 never[] 上不存在属性 ID。
不知道为什么会导致此错误。有人可以帮我解决这个问题。谢谢。
解决方案
推荐阅读
- javascript - Angular 7 模板驱动表单动态验证
- oracle - 将导入的 oracle db dmp 保存在 docker 映像中
- javascript - 内存中 blob 的 createObjectURL 无法在 videoJS 中设置源
- mysql - 对建筑物内的楼层进行分类
- python - 下一页/上一页不适用于 Django 分页
- java - 如何从具有 2 层结构的 Firebase 中检索数据?
- .net - 如何从 realex 支付的 HPP 发布响应中获取请求 [“PROD_ID”]
- perl - 我收到一条错误消息,尝试安装 Prokka
- ios - 蓝牙扫描未在设置应用程序中发现 iPhone 可见的设备 (CoreBluetooth)
- c++ - 为什么我的代码无法处理大型数组输入(> 10000)?